有没有办法过滤掉Junit测试报告?只想在Jenkins中为一些测试发布报告而不是所有人。

时间:2018-03-28 10:08:26

标签: xml maven jenkins junit

我们的项目中有一项要求,我们希望在Jenkins中发布JUnit报告,但不是针对所有测试用例,仅针对符合命名约定的一些测试用例。注意 - :我们不要#39;我想跳过那些测试执行,我们只是不想在Jenkins中发布这些测试结果。如果有办法实现这一点,请告诉我。

1 个答案:

答案 0 :(得分:0)

我将推迟区分测试与构建工具的任务,因为Maven和Gradle都有或多或少的本地方式。

Maven 中,您可以使用Surefire之类的工具根据类名或JUnit 5+ tagsStackOverflow 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'
        }
    }
}