首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能用一个配置文件运行多个集成测试吗?

我能用一个配置文件运行多个集成测试吗?
EN

Stack Overflow用户
提问于 2019-05-21 10:45:46
回答 4查看 4.8K关注 0票数 10

我试图编写颤振集成测试,并使用一个配置文件来运行它们,而不是为每个测试创建配置文件。有什么办法吗?

现在,我有login.dart和login_test.dart等等,对于每一个测试。我知道它的惯例是每个配置和测试文件必须有相同的名称,但这不是我所需要的,更可配置的东西是受欢迎的。提前谢谢。

这是我的配置文件(login.dart)

代码语言:javascript
复制
import 'package:flutter_driver/driver_extension.dart';
import 'package:seve/main.dart' as app;

void main() {
enableFlutterDriverExtension();
app.main();
}

测试(login_test.dart)看起来像这样

代码语言:javascript
复制
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)来启动这两个测试。这可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-25 18:22:10

是的,使用相同的“配置”运行多个“测试”文件是可能的。

在流行行话中,您的配置文件是您的目标,您的测试文件是您的驱动程序。您的目标始终是login.dart,但是您有两个驱动程序login_test.dartlogin_warning.dart

使用flutter drive命令,您可以指定targetdriver

因此,为了运行这两个驱动程序,只需执行以下命令

代码语言:javascript
复制
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驱动程序。

票数 9
EN

Stack Overflow用户

发布于 2019-10-14 17:13:27

您总是可以启动一个主测试文件,例如

代码语言:javascript
复制
flutter drive --target=test_driver/app_test.dart

然后调用你的测试组作为函数,就像-

代码语言:javascript
复制
void main() {
  test1();
}
void test1() {
  group('test 1', () {});}

因此,使用一个命令可以执行main()中提到的所有情况

票数 7
EN

Stack Overflow用户

发布于 2020-12-30 04:38:28

与vzurd的回答一样,我最喜欢和最干净的是创建一个测试文件,并从内部调用所有主要方法:

代码语言:javascript
复制
import './first_test.dart' as first;
import './second_test.dart' as second;

void main() {
  first.main();
  second.main();
}

然后只需在单个测试文件上运行驱动程序:

代码语言:javascript
复制
flutter drive --driver=test/integration/integration_test_driver.dart --target=test/integration/run_all_test.dart
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56236606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档