我在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?如何解决这个问题?在
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中将作业标记为失败的功能,除非您提供了其他机制来执行此操作(如果您碰巧需要这样的功能)。在
相关问题 更多 >
编程相关推荐