Flutter 颤振集成测试和Gitlab CI/CD
我正在尝试使用Fastlane和GitLab为我的颤振应用程序设置CI/CD,但使用颤振驱动程序自动执行颤振集成测试时遇到了一些困难。我遇到的问题是,当所有测试成功完成时,应用程序实例保持活动状态(如中所示,没有退出代码),这意味着不会执行Gitlab阶段中的进一步脚本。例如,当测试失败时,我收到的消息是:Flutter 颤振集成测试和Gitlab CI/CD,flutter,gitlab,gitlab-ci,flutter-test,flutterdriver,Flutter,Gitlab,Gitlab Ci,Flutter Test,Flutterdriver,我正在尝试使用Fastlane和GitLab为我的颤振应用程序设置CI/CD,但使用颤振驱动程序自动执行颤振集成测试时遇到了一些困难。我遇到的问题是,当所有测试成功完成时,应用程序实例保持活动状态(如中所示,没有退出代码),这意味着不会执行Gitlab阶段中的进一步脚本。例如,当测试失败时,我收到的消息是: Unhandled exception: Dummy exception to set exit code. Stopping application instance. Driver te
Unhandled exception:
Dummy exception to set exit code.
Stopping application instance.
Driver tests failed: 255
我收到退出代码255,我假设Gitlab Runner会将其识别为失败并停止执行进一步的阶段(构建和部署)
但是,如果测试通过,我得到的是:
00:05+3:所有测试均通过代码>,应用程序似乎仍在运行
我正在使用tearDownAll
函数,但它似乎没有帮助:
tearDownAll(() async {
if (driver != null){
await driver.close();
}
});
在tearDownAll
中添加exit(0)
或exit(255)
可以正确关闭实例,但是现在我有了读取测试是否通过/失败的方法,所以我可以将exit code设置为0/255。以前是否有人处理过集成测试和GitLab CI/CD,或者在颤振驱动程序中遇到过类似问题?我已经确定了问题所在-我只是在测试中使用setUp()
而不是setUpAll()
。改成
setUpAll(() async {
driver = await FlutterDriver.connect();
});
测试已成功完成,应用程序实例已关闭