问题描述
我正在尝试编写 Flutter 集成测试并使用一个配置文件来运行它们,而不是为每个测试都制作配置文件.有没有办法做到这一点?
I am trying to write Flutter integration tests and to run them all with one config file instead of making config file for every single test. Is there any way to do that?
现在我有 login.dart 和 login_test.dart 等等,用于每一个测试.我知道每个配置和测试文件必须具有相同名称的约定,但这不是我需要的,欢迎更多可配置的东西.提前致谢.
For now I have login.dart and login_test.dart and so on, for every single test. I know its convention that every config and test file must have the same name, but that's not what I need, more configurable things are welcomed. Thanks in advance.
这是我的配置文件(login.dart)
This is my config file (login.dart)
import 'package:flutter_driver/driver_extension.dart';
import 'package:seve/main.dart' as app;
void main() {
enableFlutterDriverExtension();
app.main();
}
测试(login_test.dart)看起来像这样
And test (login_test.dart) looks something like this
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)来启动两个测试.这可能吗?
Now I want to make new test file (e.g login_warning.dart) and be able to start both tests by calling single config file (login.dart). Is that even possible?
推荐答案
是的,可以使用相同的配置"运行多个测试"文件.
Yes, running multiple "test" files with the same "config" is possible.
用颤振的术语来说,你的配置文件是你的目标,你的测试文件是你的驱动程序.您的目标始终是 login.dart
但您有两个驱动程序 login_test.dart
和 login_warning.dart
.
In the flutter jargon, your config file is your target and your test file is your driver. Your target is always login.dart
but you have the two drivers login_test.dart
and login_warning.dart
.
使用 flutter drive
命令,您可以指定 target
以及 driver
.
With the flutter drive
command, you can specify the target
as well as the driver
.
因此,为了运行这两个驱动程序,只需执行以下命令
So in order to run both drivers, simply execute the following commands
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
驱动程序.
This executes first the login_test.dart
and then the login_warning.dart
driver.
这篇关于我可以在 Flutter 中使用一个配置文件运行多个集成测试吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!