如何配置Jenkins流水线:已知Bug测试失败时任务通过
Jenkins流水线任务需求与问题记录
需求描述
在Jenkins中创建流水线任务,专门执行所有标记为「已知Bug」的测试用例,需满足以下规则:
- 当所有测试用例失败时,任务标记为PASS
- 只要有一个测试用例通过,任务就标记为GREEN
最初尝试的解决方案
参考相关方案后编写了如下流水线代码:
stage('Tests') { steps { script{ // 执行测试 status = sh "${mvnHome}/bin/mvn clean test -e -Dgroups=categories.knownBug" if (status === "MARK-AS-UNSTABLE") { currentBuild.result = "STABLE" } } } }
运行报错
执行时触发如下错误:
Unsupported operation in this context @ line 47, column 39. if (status === "MARK-AS-UNSTABLE") {
修改后的代码及未解决问题
调整为try-catch结构后,报错问题得以解决,但需求仍未实现:
try { sh "${mvnHome}/bin/mvn clean test -e -Dgroups=categories.knownBug" } catch (err) { echo "Caught: ${err}" currentBuild.result = "STABLE" }
当前问题:测试失败时任务会同步标记为失败,不符合「所有测试用例失败时任务标记为PASS」的预期;同时也未实现「有测试用例通过时任务标记为GREEN」的规则。
内容的提问来源于stack exchange,提问作者Noy M
相关产品推荐
相关产品推荐

