DevOps实战(二)- Jenkins集成单元测试报告和Allure插件用法

需求背景

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

2、Allure是一款轻量级,且灵活的开源测试报告生成框架。简单易用,易于集成,并且支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。通过Jenkins集成后,可以拥有一个十分漂亮的测试报告输出。

准备工作

1、Jenkins安装集成和案例分析,见此文章

2、如何进行单元测试编写和场景案例分析,见此文章

3、下面演示用到的项目源码,见这里,下载源码,准备了四个测试案例

4、Jenkins集成添加Allure插件

详细步骤

1、maven-surefire-plugin插件用法介绍

a. 在项目中pom.xml文件中引入插件

<build>
		<plugins>
			<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>
		</plugins>
	</build>

b. 执行命令mvn clean test

c. 会自动生成一个目录target/surefire-reports,输出报告结果

d. 开启Jenkins任务支持

e. 最终效果展示

2、Allure插件用法介绍

a. 在项目中pom.xml文件中引入插件,代码无需任何改动

<dependency>
			<groupId>io.qameta.allure</groupId>
			<artifactId>allure-junit4</artifactId>
			<version>2.12.0</version>
			<scope>test</scope>
		</dependency>
<build>
		<plugins>
			<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>
					<testFailureIgnore>false</testFailureIgnore>
					<argLine>
						-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
					</argLine>
					<properties>
						<property>
							<name>listener</name>
							<value>io.qameta.allure.junit4.AllureJunit4</value>
						</property>
					</properties>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.aspectj</groupId>
						<artifactId>aspectjweaver</artifactId>
						<version>${aspectj.version}</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

b. 执行命令mvn clean test

c. 会在项目根目录下,生成allure-results目录,测试结果

d. 开启Jenkins任务支持

e. 最终效果展示,报告入口位置

问题解决

问题描述:

1、Allure报表打开显示为空,图上显示为"0测试案例,NaN%"

解决方案:

1. 回到上面的Allure插件用法介绍,仔细查看一下(第d步Jenkins开启支持)详细说明步骤,其路径一定要配置对

2. Jenkins服务部署和仓库代码,需要部署在同一个机器上。这里说的路径,是指本机上的路径,而非远程服务器上的

 

至此,全部介绍就结束了

 

其他资料

1、官方Surefire插件说明文档

2、官方allure-junit4集成说明文档

该系列教程

DevOps实战系列

 

 

------------------------------------------------------

------------------------------------------------------

 

关于我(个人域名)

我的开源项目集Github

 

期望和大家一起学习,共同进步,共勉,O(∩_∩)O谢谢

欢迎交流问题,可加个人QQ 469580884,

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

如果觉得内容赞,您可以请我喝杯咖啡:

        

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺佬湿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值