【问题标题】:Flutter Test: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)Flutter 测试:MissingPluginException(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)
【发布时间】: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);
});
}

【问题讨论】:

标签: flutter flutter-dependencies flutter-test


【解决方案1】:

在我的例子中,这个错误是通过终端上的 flutter clean 命令解决的。

【讨论】:

  • 我认为flutter clean 是开发人员尝试的第一个命令
【解决方案2】:

以下代码在我的 android 项目中运行完美。

  class MainActivity : FlutterActivity() {

     override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {

             GeneratedPluginRegistrant.registerWith(flutterEngine)
      }
    }

【讨论】:

    猜你喜欢
    • 2023-02-15
    • 2018-11-14
    • 2021-07-18
    • 1970-01-01
    • 2021-01-24
    • 2023-01-09
    • 2021-02-01
    • 1970-01-01
    • 2020-10-20
    相关资源
    最近更新 更多