我正在尝试测试一个进行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);
});
}
答案 0 :(得分:0)
在我的情况下,此错误通过终端上的flutter clean命令解决。
答案 1 :(得分:0)
版本shared_preferences: ^0.5.12
ad SharedPreferences.setMockInitialValues({});
在Flutter App主要功能中的runApp()
函数之前
为我修复此错误
答案 2 :(得分:0)
下面的代码在我的android项目中运行完美。
class MainActivity : FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
}
}