我正在尝试为Flutter应用编写测试。我正在为其编写测试的函数返回一个Future,因此我正在使用await。
但是一旦使用任何await语句,我就会收到MissingPluginException错误。
我尝试更改依赖版本,但这无济于事。对此,在GitHub上找不到Flutter Issues或StackOverFlow的任何内容。
import 'package:flutter_test/flutter_test.dart';
import '../home.dart';
void main() {
test('checkAppVersion', () async {
expect(await checkAppVersionTest(true), true);
});
}
String currentVersionString = await GetVersion.projectVersion;
Version currentVersion = Version.parse(currentVersionString);
Future<bool> checkAppVersionTest([bool test, Version latestVersion]) async {
...
if (currentVersion < latestVersion) {
updateRequired = true;
}
...
return updateRequired
}
预期可以正常工作。
获取错误:
MissingPluginException(未找到方法getAll的实现 频道plugins.flutter.io/package_info)
包:flutter / src / services / platform_channel.dart 300:7 MethodChannel.invokeMethod =====异步间隔 ============================ dart:异步_AsyncAwaitCompleter.completeError包:flutter / src / services / platform_channel.dart
MethodChannel.invokeMethod =====异步间隔 ============================= dart:async _asyncThenWrapperHelper软件包:flutter / src / services / platform_channel.dart
MethodChannel.invokeMethod包:package_info / package_info.dart 38:17 PackageInfo.fromPlatform
答案 0 :(得分:0)
看起来您只需安装Pod。
打开终端并导航至flutter目录。
通过cd iOS/
进入iOS目录,然后运行pod install
现在您应该可以正常运行项目了。
答案 1 :(得分:0)
只需终止该应用程序并热重启该应用程序即可。 添加依赖项时,需要依赖于平台的代码才能通过平台通道运行。您必须通过终止当前应用程序来重新启动该应用程序。