我正在尝试测试这个函数:
void store(String x, String y) async {
Map<String, dynamic> map = {
'x': x,
'y': y,
};
var jsonString = json.encode(map);
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('fileName', jsonString);
}
我发现我可以使用以下方式填充共享首选项:
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;
});
但是我不明白如何使用,特别是在我的情况下。
shared_preferences
时,我一直收到错误提示。这是因为我正在运行flutter test
而不是使用设备进行测试吗? - Luke Pighettiverify(pref.setString(any, any)).called()
,就会出现错误:“在非Mockito对象上使用”。 - woprandiclass MockSharedPreference extends Mock implements SharedPreferences{}
。我真的不知道如何让它工作。 - nonybrighto