在 Jenkins 管道上使用多个 JUnit 结果文件
using multiple JUnit results file on Jenkins pipeline
在我的 Jenkins 流水线上,我 运行 对两者进行了单元测试:调试和发布配置。每个测试配置都会生成单独的 JUnit XML 结果文件。两者的测试名称:调试和发布配置相同。目前我使用以下 junit
命令来显示测试结果:
junit allowEmptyResults: true, healthScaleFactor: 0.0, keepLongStdio: true, testResults: 'Test-Dir/Artifacts/test_xml_reports_*/*.xml'
问题是在 Jenkins UI 上:调试和发布测试结果一起显示,无法知道哪个测试(从调试或发布配置)失败。
是否可以单独显示调试和发布测试结果?如果是,我该怎么做?
我的问题看起来没有解决方案。
作为解决方法,我更改了 JUnit XML 报告格式并将构建变体名称 (debug/release) 作为包名称包含在内。
我们 运行 针对具有不同数据库类型的两种不同配置进行相同的集成测试。我们使用 maven 和 failsafe 插件,所以我利用了 -Dsurefire.reportNameSuffix
,所以我可以看到两个 运行 之间的区别。
以下是我们Jenkinsfile
的示例块:
stage('Integration test MySql') {
steps {
timeout(75) {
sh("mvn -e verify -DskipUnitTests=true -DtestConfigResource=conf/mysql-local.yaml " +
"-DintegrationForkCount=1 -DdbInitMode=migrations -Dmaven.test.failure.ignore=false " +
"-Dsurefire.reportNameSuffix=MYSQL")
}
}
post {
always {
junit '**/failsafe-reports/*MYSQL.xml'
}
}
}
在报告中,针对 mysql 的集成测试 运行 然后在其名称后附加了 MYSQL。
在我的 Jenkins 流水线上,我 运行 对两者进行了单元测试:调试和发布配置。每个测试配置都会生成单独的 JUnit XML 结果文件。两者的测试名称:调试和发布配置相同。目前我使用以下 junit
命令来显示测试结果:
junit allowEmptyResults: true, healthScaleFactor: 0.0, keepLongStdio: true, testResults: 'Test-Dir/Artifacts/test_xml_reports_*/*.xml'
问题是在 Jenkins UI 上:调试和发布测试结果一起显示,无法知道哪个测试(从调试或发布配置)失败。 是否可以单独显示调试和发布测试结果?如果是,我该怎么做?
我的问题看起来没有解决方案。 作为解决方法,我更改了 JUnit XML 报告格式并将构建变体名称 (debug/release) 作为包名称包含在内。
我们 运行 针对具有不同数据库类型的两种不同配置进行相同的集成测试。我们使用 maven 和 failsafe 插件,所以我利用了 -Dsurefire.reportNameSuffix
,所以我可以看到两个 运行 之间的区别。
以下是我们Jenkinsfile
的示例块:
stage('Integration test MySql') {
steps {
timeout(75) {
sh("mvn -e verify -DskipUnitTests=true -DtestConfigResource=conf/mysql-local.yaml " +
"-DintegrationForkCount=1 -DdbInitMode=migrations -Dmaven.test.failure.ignore=false " +
"-Dsurefire.reportNameSuffix=MYSQL")
}
}
post {
always {
junit '**/failsafe-reports/*MYSQL.xml'
}
}
}
在报告中,针对 mysql 的集成测试 运行 然后在其名称后附加了 MYSQL。