Flutter测试MissingPluginException

运行依赖于SharedPreferences插件的测试总是会导致

MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

我的pubspec.yaml

dev_dependencies:

flutter_test:

sdk: flutter

dependencies:

flutter:

sdk: flutter

shared_preferences: 0.2.3

的代码可以在应用程序本身中正常工作。我是否缺少为运行使用插件的测试而需要做的事情?

回答:

如果您使用的是shared_preferences 0.2.4及更高版本,请使用setMockInitialValues

SharedPreferences.setMockInitialValues({}); // set initial values here if desired

对于早期版本,您可以手动进行操作:

const MethodChannel('plugins.flutter.io/shared_preferences')

.setMockMethodCallHandler((MethodCall methodCall) async {

if (methodCall.method == 'getAll') {

return <String, dynamic>{}; // set initial values here if desired

}

return null;

});

以上是 Flutter测试MissingPluginException 的全部内容, 来源链接: utcz.com/qa/429777.html

回到顶部