Flutter 测试:MissingPluginException(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)
Posted
技术标签:
【中文标题】Flutter 测试:MissingPluginException(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)【英文标题】:Flutter Test: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences) 【发布时间】:2020-04-14 20:29:08 【问题描述】:我正在尝试测试一个进行 api 调用并将该数据保存到共享首选项中的函数。我正在模拟我的 api 调用,但是在该函数中,当我试图获取共享首选项的实例时,我收到了这个错误:
MissingPluginException(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)
这是我的测试用例代码。
main()
// setup
group("Login", ()
setUp(()
flutterTest.TestWidgetsFlutterBinding.ensureInitialized();
);
test("Valid Creds Login", () async
final validRes = ExpectedResponses.login();
final client = MockClient((request) async
final res = json.encode(validRes);
return Response(res, 200);
);
ApiController.init(client);
final user = await ApiController.login(
email: "abc@gmail.com", password: "12345678");
expectAsync0(()
expect(user.id, "1763");
);
, skip: false);
);
【问题讨论】:
这有帮助吗? ***.com/questions/44357053/… 没有。我的问题与在 SharedPreferences 中保存值有关。 安装 SharedPreferences 包后,您是否完全重建了您的应用程序?你使用的是哪个版本的包和 Flutter? 我正在为它运行单元测试,在实际应用中它运行良好。共享首选项:0.5.6 |颤振:1.12.13+hotfix.6 这能回答你的问题吗? Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/ for many packages on Flutter 【参考方案1】:在我的例子中,这个错误是通过终端上的 flutter clean 命令解决的。
【讨论】:
我认为flutter clean
是开发人员尝试的第一个命令【参考方案2】:
以下代码在我的 android 项目中运行完美。
class MainActivity : FlutterActivity()
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine)
GeneratedPluginRegistrant.registerWith(flutterEngine)
【讨论】:
以上是关于Flutter 测试:MissingPluginException(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)的主要内容,如果未能解决你的问题,请参考以下文章