詹金斯黄瓜报告
Jenkins cucumber reports
我在我的声明性管道中使用 Cucumber reports plugin 是这样的:
cucumber '**/cucumber.json'
我可以通过侧边栏上的 link 检查某些测试是否失败,但是我是否需要做一些事情来将包含 cucumber.json
检查的阶段标记为失败失败的?因为问题是构建和阶段都是绿色和成功的,尽管有一些失败的黄瓜报告。
Jenkins 版本是 2.176.3
Cucumber 报告版本为 4.10.0
您使用的 Cucumber 命令只生成报告,而不管测试结果如何。
所以是的,你必须让你的管道以某种方式失败,因为你面临的问题是你的测试命令没有返回导致你的管道失败。
方法是使 运行 测试 returns 非零退出代码(退出 1)的命令如果在您的测试中出现问题。那将使您的管道阶段变红。
如果您 运行 使用 Maven 进行测试,这将在 'mvn test'(或其他)上自动管理。
否则,如果你不能这样做,你将不得不设法制作类似 sh 脚本的东西
returns 退出代码(0 通过/1 失败)或 'script' 标签内的 groovy 函数设置管道 currentBuild.result 值:
def checkTestResult() {
// Check some file to see if tests went fine or not
return 'SUCCESS' // or 'FAILURE'
}
...
stage {
script {
currentBuild.result = checkTestResult()
if (currentBuild.result == 'FAILURE') {
sh "exit 1" // Force pipeline exit with build result failed
}
}
}
...
我建议您在声明性管道的 'always' post 构建操作上使用 cucumber 命令
因为这是一个您可能每次都在管道末尾执行的步骤,无论它是通过还是失败。请参阅以下示例:
pipeline {
stages {
stage('Get code') {
// Whatever
}
stage('Run tests') {
steps {
sh "mvn test" // run_tests.sh or groovy code
}
}
}
post {
always {
cucumber '**/cucumber.json'
}
}
}
如果报告标记为失败,则可以设置 BuildStatus : 'FAILURE'
将构建标记为失败。
cucumber fileIncludePattern: '**/cucumber.json', buildStatus: 'FAILURE'
我在我的声明性管道中使用 Cucumber reports plugin 是这样的:
cucumber '**/cucumber.json'
我可以通过侧边栏上的 link 检查某些测试是否失败,但是我是否需要做一些事情来将包含 cucumber.json
检查的阶段标记为失败失败的?因为问题是构建和阶段都是绿色和成功的,尽管有一些失败的黄瓜报告。
Jenkins 版本是 2.176.3
Cucumber 报告版本为 4.10.0
您使用的 Cucumber 命令只生成报告,而不管测试结果如何。 所以是的,你必须让你的管道以某种方式失败,因为你面临的问题是你的测试命令没有返回导致你的管道失败。
方法是使 运行 测试 returns 非零退出代码(退出 1)的命令如果在您的测试中出现问题。那将使您的管道阶段变红。
如果您 运行 使用 Maven 进行测试,这将在 'mvn test'(或其他)上自动管理。 否则,如果你不能这样做,你将不得不设法制作类似 sh 脚本的东西 returns 退出代码(0 通过/1 失败)或 'script' 标签内的 groovy 函数设置管道 currentBuild.result 值:
def checkTestResult() {
// Check some file to see if tests went fine or not
return 'SUCCESS' // or 'FAILURE'
}
...
stage {
script {
currentBuild.result = checkTestResult()
if (currentBuild.result == 'FAILURE') {
sh "exit 1" // Force pipeline exit with build result failed
}
}
}
...
我建议您在声明性管道的 'always' post 构建操作上使用 cucumber 命令 因为这是一个您可能每次都在管道末尾执行的步骤,无论它是通过还是失败。请参阅以下示例:
pipeline {
stages {
stage('Get code') {
// Whatever
}
stage('Run tests') {
steps {
sh "mvn test" // run_tests.sh or groovy code
}
}
}
post {
always {
cucumber '**/cucumber.json'
}
}
}
如果报告标记为失败,则可以设置 BuildStatus : 'FAILURE'
将构建标记为失败。
cucumber fileIncludePattern: '**/cucumber.json', buildStatus: 'FAILURE'