Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振集成测试和Gitlab CI/CD_Flutter_Gitlab_Gitlab Ci_Flutter Test_Flutterdriver - Fatal编程技术网

Flutter 颤振集成测试和Gitlab CI/CD

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

我正在尝试使用Fastlane和GitLab为我的颤振应用程序设置CI/CD,但使用颤振驱动程序自动执行颤振集成测试时遇到了一些困难。我遇到的问题是,当所有测试成功完成时,应用程序实例保持活动状态(如中所示,没有退出代码),这意味着不会执行Gitlab阶段中的进一步脚本。例如,当测试失败时,我收到的消息是:

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();
});
测试已成功完成,应用程序实例已关闭