首先在Jenkins中安装Junit插件
要生成xml报告需要在使用maven插件,具体配置如下
如果只要xml、txt报告,只需要maven-surefire-plugin插件,生成的报告在target的surefire-reports下面。

项目的pom.xml中加载插件如下<plugins> </plugins>部分:

	</distributionManagement>
	<build>
		<finalName>ROOT</finalName>
        <plugins>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
								<version>2.20.1</version>
                                <configuration>
                                        <skipTests>false</skipTests>>
                                </configuration>
                        </plugin>
        </plugins>  
	</build>
</project>

如果要html报告,只需要maven-surefire-report-plugin插件,生成的报告在target的site里面,surefire-report.html

<plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-report-plugin</artifactId>
               <version>2.20.1</version>
               <configuration>
                           <includes>
                                   <include>**/*Test.java</include>
                           </includes>
               </configuration>
</plugin>

maven-surefire-plugin和maven-surefire-report-plugin只需要配置其中一个,就会在test阶段执行单元测试用例。

Jenkins pipeline Job 配置

pipeline的话这部分应该放在post的always中,而不是放在stages段内,因为如果单元测试失败,则pipeline后续的stage都不会执行。而放在post的always中则确保会执行。

    post {
        always{
             junit ( testResults: '**/surefire-reports/**/*.xml' )
        }
    } 

Jenkins FreeStyle Job配置

在这里插入图片描述

之后就会在Job页显示单元测试的趋势,如下截图
在这里插入图片描述

如果是有单元测试失败则在Jenkins中可以看见,如下图:
在这里插入图片描述
点进去之后有进一步的结果显示:
注意这里红圈内容,是与JIRA集成了(插件JiraTestResultReporter-plugin),失败的单元测试将在JIRA中自动创建一个issue(如何与jira集成参见另外一篇文章):
在这里插入图片描述
在这里插入图片描述

在JIRA中创建的issue
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐