我们的项目中有一项要求,我们希望在Jenkins中发布JUnit报告,但不是针对所有测试用例,仅针对符合命名约定的一些测试用例。注意 - :我们不要#39;我想跳过那些测试执行,我们只是不想在Jenkins中发布这些测试结果。如果有办法实现这一点,请告诉我。
答案 0 :(得分:0)
我将推迟区分测试与构建工具的任务,因为Maven和Gradle都有或多或少的本地方式。
在 Maven 中,您可以使用Surefire之类的工具根据类名或JUnit 5+ tags(StackOverflow example)排除/包含测试。 Gradle的 Java插件具有基于类名的test filtering,并且还支持JUnit 5+标记。
一旦您创建了区分不同测试分组的构建任务,您就可以像这样定义Jenkins管道阶段:
stage('Unreported Tests') {
steps {
sh './gradlew runUnreportedTests'
}
}
stage('Reported Tests') {
steps {
sh './gradlew runReportedTests'
}
post {
always {
junit 'build/reports/**/*.xml'
}
}
}