0

我正在使用 GitLab,我的测试用例是用 C# Speflow 编写的。我已将管道配置为在部署之前执行完整的自动化套件,但我的管道不会失败并在测试用例失败时终止,它会继续运行,即使执行了完整的套件,它仍然没有失败或停止。只有达到运行器超时限制时,管道才会停止。请看下图:

在此处输入图像描述

一旦任何测试用例失败,我想停止管道并将其标记为失败。我使用了“allow_failure:false”,但它没有用。有人可以帮我吗?所以简而言之,我想终止 CI 管道并在我的第一个测试用例失败时立即失败,并且不希望我的管道继续处理其他剩余的测试用例。

我的 GitLab yml 文件如下:

demo_job_1:
     stage: test

     tags:
       - tags
              
     script:
       - Root dir location path
       - 'dotnet restore <path to the ProjName.sln>'
       - 'dotnet msbuild <path to the ProjName.sln>'
       - 'dotnet test <path to the ProjName.sln>'

     allow_failure: false
4

1 回答 1

0

管道给您一个提示,您的测试套件似乎花费了太长时间来执行所有测试。

Error: job failed: execution took longer than 2h0m0s seconds

首先,尝试调试管道内的测试可能发生的情况

dotnet test --logger "console;verbosity=detailed"

那么,如果可能的话,你能尝试只运行你的测试套件的一个子集吗?单个测试可能会挂起您的整个管道。

于 2021-12-31T13:45:40.493 回答