我在声明性管道中使用Cucumber reports plugin这样:
cucumber '**/cucumber.json'
我能够通过边栏上的链接检查某些测试是否失败,但是如果某些黄瓜报告失败,我是否需要做一些事情来将包含cucumber.json
检查的阶段标记为失败?因为问题是尽管黄瓜报告有些失败,但是构建和阶段都是绿色且成功的。
Jenkins版本是2.176.3
黄瓜报表版本为4.10.0
您使用的黄瓜命令仅会生成报告,而不考虑测试结果。因此,是的,您必须使管道以某种方式失败,因为您面临的问题是您的测试命令没有返回使管道失败。
方法是,如果测试发生问题,则运行测试的命令将返回非零退出代码(退出1)。这会使您的管线阶段变成红色。
[如果您使用Maven运行测试,则会在'mvn test'(或任何其他方式)上自动进行管理。否则,如果您不能执行此操作,则必须设法制作类似sh脚本的内容返回退出代码(0通过/ 1失败)或在'script'标记内的常规函数设置管道的currentBuild.result值:
...
stage {
script {
currentBuild.result = 'SUCCESS' // or 'FAILURE'
}
}
...
我建议您在声明性管道的“始终”后期构建操作上使用黄瓜命令因为这是您可能会在管道结束时每次通过或失败时都执行的步骤。请参见以下示例:
pipeline {
stages {
stage('Get code') {
// Whatever
}
stage('Run tests') {
steps {
sh "mvn test" // run_tests.sh or groovy code
}
}
}
post {
always {
cucumber '**/cucumber.json'
}
}
}