getting PlatformException(channel-error, Unable to establish connection on channel: "dev.flutter.pigeon.wakelock_plus_platform_interface.WakelockPlusApi.toggle"., null, null) error when running test casesΒ #67
Description
I am using wakelock_plus for one of my classes to keep player screen on. Test cases related to that file are failing. I was earlier using wakelock, recently updated to wakelock_plus. In the test case file I have a setupAll method where earlier for wakelock 'wakelock_macos' was used for MethodChannel name like below.
const channel = MethodChannel('wakelock_macos');
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(channel, (MethodCall methodCall) async {
return null;
});
for this test cases were passed successfully.
After comparing the wakelock and wakelock_plus libraries, I attempted to utilise the MethodChannel named 'wakelock_plus_macos' for wakelock_plus in the same way that we used it for wakelock.
const channel = MethodChannel('wakelock_plus_macos');
But test cases are failing with below error:
PlatformException(channel-error, Unable to establish connection on channel: "dev.flutter.pigeon.wakelock_plus_platform_interface.WakelockPlusApi.toggle"., null, null)
Now if I use 'dev.flutter.pigeon.wakelock_plus_platform_interface.WakelockPlusApi.toggle' as the MethodChannel name like
const channel = MethodChannel('dev.flutter.pigeon.wakelock_plus_platform_interface.WakelockPlusApi.toggle');
I am getting another error:
FormatException: Message corrupted
package:flutter/src/services/message_codecs.dart 532:16 StandardMessageCodec.readValueOfType
package:flutter/src/services/message_codecs.dart 477:12 StandardMessageCodec.readValue
package:flutter/src/services/message_codecs.dart 522:23 StandardMessageCodec.readValueOfType
package:flutter/src/services/message_codecs.dart 477:12 StandardMessageCodec.readValue
package:flutter/src/services/message_codecs.dart 609:41 StandardMethodCodec.decodeMethodCall
package:flutter_test/src/test_default_binary_messenger.dart 300:45 TestDefaultBinaryMessenger.setMockMethodCallHandler.<fn>
package:flutter_test/src/test_default_binary_messenger.dart 143:29 TestDefaultBinaryMessenger.send
package:flutter/src/services/platform_channel.dart 218:54 BasicMessageChannel.send
package:wakelock_plus_platform_interface/messages.g.dart 122:32 WakelockPlusApi.toggle
package:wakelock_plus_platform_interface/src/method_channel_wakelock_plus.dart 20:16 MethodChannelWakelockPlus.toggle
package:wakelock_plus/wakelock_plus.dart 71:41 WakelockPlus.toggle
What should be used for MethodChannel to run test cases successfully