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