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

标签 flutter flutter-dependencies flutter-test

我正在尝试测试一个函数,该函数进行 api 调用并将该数据保存到共享首选项中。我正在 mock 我的 api 调用,但是在该函数中,当我尝试获取共享首选项的实例时,出现此错误:

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



这是我的测试用例代码。
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);
});
}

最佳答案

在我的情况下,这个错误通过终端上的 flutter clean 命令解决。

关于 flutter 测试 : MissingPluginException(No implementation found for method getAll on channel plugins. flutter.io/shared_preferences),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59457204/

相关文章:

dart - 测试用Flutter Google Play控制台资源名称

dart - Flutter如何在appbar的标题下对齐字幕?

flutter - Dart 编译器是否能够推断出 const 构造函数的用法?

flutter - 如何向 Flutter v1 Android 应用程序添加 RASP 安全功能

flutter - 找不到符号 public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine)

android - 尝试将音频 Assets 设置为 Android 上的铃声

flutter 错误 : Could not download bcprov-jdk15on. jar (org.bouncycaSTLe :bcprov-jdk15on:1. 56)

flutter - Flutter:我想访问setstate的更改后的值,访问它时未显示新的状态值

layout - 显示我让 RenderFlex 溢出未处理?

Flutter 2.0 升级,pub 因无意义的依赖行为而失败