为何管道在测试用例失败时失败

2024-09-30 16:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Gitlab CI中运行robotframework。在

我面临的问题是,如果有任何测试用例在运行中失败,它也会使管道失败。那么如何防止管道失效呢?因为测试失败了,而不是整个生成过程。在

现在,我就是这样在gitlab-ci.yml上运行robotframework的

- robot --exitonfailure -i "android-test" --outputdir ./output Android/Androidtest.robot


例如,我有3个测试用例Androidtest.机器人测试套件:
1。登记
2。fillin_配置文件
3。结账顺序

如果Ci失败,则将在fillcase中注册失败的Ci。我不希望失败,因为下一个工作是将robotframework测试报告发送到gdrive,如果管道失败,它将永远不会被发送。在

这是因为我添加了--exitonfailure参数btw?如何解决这个问题?在


Tags: testci管道过程ymlgitlabrobot测试用例
2条回答

CI的全部意义在于当测试失败时失败。 上传你的测试结果或报告不应该是一项额外的工作。我不知道robotframework,但是GitLab支持在测试失败后发布工件。在

https://docs.gitlab.com/ee/ci/junit_test_reports.html

exitonfailure替换为 nostatusrc。在

如果测试失败,robot将使用exitcode而不是0退出。Gitlab和每一个ci都会检查它是否使用exitcode而不是0执行任何命令,并认为有失败。使用 nostatusrc时,robot将始终以0退出,因此您的ci不会认为哪里会出现故障。在

请注意,如果您继续抑制退出代码,那么如果测试失败,您将失去在CI中将作业标记为失败的功能,除非您提供了其他机制来执行此操作(如果您碰巧需要这样的功能)。在

相关问题 更多 >