我可以在Flutter中使用一个配置文件运行多个集成测试吗?
问题内容:
我正在尝试编写Flutter集成测试,并使用一个配置文件运行所有测试,而不是为每个测试都创建配置文件。有什么办法吗?
现在,对于每个测试,我都有login.dart和login_test.dart等。我知道它的约定,即每个配置和测试文件必须具有相同的名称,但这不是我所需要的,欢迎使用更多可配置的东西。提前致谢。
这是我的配置文件(login.dart)
import 'package:flutter_driver/driver_extension.dart';
import 'package:seve/main.dart' as app;
void main() {
enableFlutterDriverExtension();
app.main();
}
测试(login_test.dart)看起来像这样
import ...
FlutterDriver driver;
void main() {
setUpAll(() async {
driver = await FlutterDriver.connect();
});
tearDownAll(() async {
if (driver != null) {
driver.close();
}
});
test('T001loginAsDriverAndVerifyThatDriverIsLogedInTest', () async {
some_code...
});
});
现在,我要制作新的测试文件(例如,login_warning.dart),并能够通过调用单个配置文件(login.dart)来启动两个测试。那有可能吗?
问题答案:
是的,可以使用相同的“配置”运行多个“测试”文件。
用通俗的术语来说,您的配置文件是您的 目标, 而您的测试文件是您的 驱动程序
。您的目标始终是,login.dart
但您有两个驱动因素login_test.dart
和login_warning.dart
。
使用flutter drive
命令,您可以指定target
和driver
。
因此,要运行两个驱动程序,只需执行以下命令
flutter drive --target=test_driver/login.dart --driver=test_driver/login_test.dart
flutter drive --target=test_driver/login.dart --driver=test_driver/login_warning.dart
这首先执行login_test.dart
,然后执行login_warning.dart
驱动程序。