当前位置: 首页 > 知识库问答 >
问题:

如何修复颤振测试中的异步/等待错误?

马边浩
2023-03-14

我正在尝试为我的颤振应用程序编写一个测试。我为其编写测试的函数返回未来,因此我使用wait。

但是,只要使用任何WAIT语句,我就会得到MissingPluginException错误。

我尝试更改依赖项版本,但没有帮助。在GitHub上找不到与此相关的颤振问题或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(在channel plugins.flatter.io/package\u info上找不到方法getAll的实现)
package:flatter/src/services/platform\u channel。飞镖300:7。invokeMethod=====异步间隙===================================dart:async\u AsyncWaitCompleter。完整错误包:颤振/src/服务/平台通道。省道
方法通道。invokeMethod=====异步间隙================================dart:async\u asyncThenWrapperHelper包:颤振/src/services/platform\u通道。省道
方法通道。调用方法包:包信息/包信息。dart 38:17 PackageInfo。从平台

共有2个答案

阳英朗
2023-03-14


打开终端并导航到flutter目录。
CD通过cdiOS/进入iOS目录,然后运行pod安装

现在你应该可以很好地运行这个项目了。

鲁博赡
2023-03-14

只需终止应用程序并热重启应用程序。因为您添加了一个依赖项,该依赖项要求特定于平台的代码通过平台通道运行。您必须通过终止当前应用程序来重新启动该应用程序。

 类似资料:
  • 我有一个flutter应用程序,我在其中使用SQFLITE插件从SQLite DB中获取数据。这里我面临一个奇怪的问题。根据我的理解,我们使用async/wait或then()函数进行异步编程。这里我有一个db.query()方法,它执行一些SQL查询以从DB中获取数据。在这个函数获取数据后,我们在. then()函数中做一些进一步的处理。然而,在这种方法中,我遇到了一些问题。从我调用getExe

  • 自从我开始使用Flatter以来,我面临着一个与Flatter async await相关的问题。大多数时候,我试图用未来和等待的结果,它跳过等待,并得到最短的方式返回 请帮助我更好地理解flatter async wait,或者告诉我哪里做错了,这样我就可以改进我的代码

  • 当我运行应用程序时,gradle无法构建 编译器消息:file:///c:/users/wellick/documents/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_sticky_header-0.3.4/lib/src/widgets/sticky_header_layout_builder.dart:147:16:错误:无法将参数类型

  • 我需要在函数中运行各种步骤,但步骤必须按特定顺序运行。我尝试实现一个函数,如下所示: 控制台中的预期结果应该是1,2,3,但我得到了3,2,1。似乎忽略了参数。 编辑功能在上面的示例中仅用于模拟繁重的任务。在我的项目中,我不会使用它。事实上,我需要连接到一个数据库,然后在进入下一步之前重新格式化结果。即使包括,2也会在1之前登录。换句话说,空列表被传递到我的图形,因为没有考虑。以下是我当前的代码:

  • 我刚导入webview_颤振插件,发现该插件与我的颤振环境不兼容。然后使用Android Studio,我使用“迁移到AndroidX”选项迁移我的AndroidX环境。 我想使用webview_flutter插件查看页面。帮助赞赏。 这里是错误信息 正在启动lib/main。调试模式下Andromax B26D2H上的dart D8:程序类型已存在:android。支持v4。媒体MediaBro

  • 我试图在react/electron项目中使用async/await,但它不起作用。我想要的是获取docker容器状态列表。但是安慰。日志(列表)返回未定义的。 有人能帮我吗?:)