Jenkins 集成单元测试报告


 

 部署 jenkins 服务教程

 

1、说明

通过使用 maven-surefire-plugin 插件,maven + junit 会在项目下 target/surefire-reports 目录,提供 txt 和 xml 这两种格式的测试结果,但这样阅读起来不够直观。通过Jenkins集成,可以拥有一个很直观的测试报告。

 

2、配置 pom.xml

给 pom.xml 文件添加 maven-surefire-plugin 插件,configuration 内容按实际类名配置。

<plugin>        
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <!--表示执行任何子目录下所有命名以Test结尾的java类 -->
        <includes>
            <include>**/*Test.java</include>
        </includes>
        <!--表示不执行任何子目录下所有命名以Test开头的java类 -->
        <excludes>
            <exclude>**/Test*.java</exclude>
        </excludes>
    </configuration>
</plugin>

 

3、修改jenkinsfile

分不同分支是否需要生成测试报告,做如下修改。

1)所有分支都要输出测试报告,修改jenkinsfile示例:

    stage('package') {
      agent {
        docker {
          image 'maven:3.6-alpine'
          args '-v /opt/data/aliyun-jenkins-maven:/root/.m2'
        }
      }
      steps {
        sh 'mvn package -Dmaven.test.skip=false'
        junit 'target/surefire-reports/*.xml'
        stash(name: 'copy jar', includes: 'target/*.jar')
      }
    }

 

2)只非master分支需要输出测试报告,修改jenkinsfile示例:

    stage('package') {
      agent {
        docker {
          image 'maven:3.6-alpine'
          args '-v /opt/data/aliyun-jenkins-maven:/root/.m2'
        }
      }
      steps {
        script {
          if (env.BRANCH_NAME == 'master') {
            sh 'mvn package -Dmaven.test.skip=true'
          }else{
            sh 'mvn package -Dmaven.test.skip=false'
            junit 'target/surefire-reports/*.xml'
          }
        }
        stash(name: 'copy jar', includes: 'target/*.jar')
      }
    }

 

4、查看测试报告

 

 

 

参考:

Jenkins集成单元测试报告和Allure插件用法

Jenkins Pipeline入坑指南

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM