Flutter integration_test 包与我的代码冲突,无法通过调整包版本来解决 - 因此整个应用程序无法运行

问题描述

我有一个应用程序(具有空安全),并且想使用 integration_test 包进行一些测试。 pubspec.yaml 看起来像:

dependencies:
  archive: ^3.1.2
  ...

dev_dependencies:
  build_resolvers: ^2.0.0
  build_runner: ^1.11.5
  Flutter_test:
    sdk: Flutter
  integration_test:
    sdk: Flutter
  ...

然后报错:

Because every version of Flutter_driver from sdk depends on archive 2.0.13 and my_app depends on archive ^3.1.2,Flutter_driver from sdk is forbidden.

不能使用存档包的非空安全版本 (2.x),因为如果我这样做,我的应用程序代码将无法在空安全模式下运行!我可以接受我的测试在非空安全模式下运行,但我不能容忍我的应用代码在非空安全模式下运行。

感谢您的任何建议!

解决方法

您需要覆盖 archive 软件包版本以告诉 flutter_driver 使用最新版本:

dev_dependencies:
  build_resolvers: ^2.0.0
  build_runner: ^1.11.5
  flutter_test:
    sdk: flutter
  integration_test:
    sdk: flutter
dependency_overrides:
  archive: ">=3.1.2"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...