Junit5 + Jenkins + Allure 继承单元测试报告
关于这三个组件的安装网上文档很多,官方文档也很详细,这里就不演示了,本文主要讲解使用工程的的坑和解决方案。 这里给几个友情链接:
- spring-boot 继承Allure :
- jenkins 安装Allure插件 :
- Allure本地图表没有历史趋势图解决:
看看效果:
采坑记录
- spring-boot版本和Junit5兼容问题 我们公司spring-boot版本2.15,默认支持junit4。如果使用Junit5,本地执行没问题。当junit5使用mvn test时,单元测试不执行。 解决办法: 加入:maven-surefire-plugin 并且版本大于:2.22.0
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> // Junit5 需要maven-surefire-plugin 大于2.22.0 <version>2.22.0</version> </plugin>
- jenkins不生成报告 由于我们打包场景比较复杂,自己写的脚本。生成的allure-result目录不在workspace下,单独写了一个脚本将allure-result进行拷贝到指定工作目录
- 不清楚原理,没办法自定义优化 主要下面几个原理搞清楚,就可以自己写shell去操控allure的报告:
-
如何自定义allure-result路径和allure-report路径
pom.xml 中增加插件属性:allure.results.directory <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <configuration> <systemPropertyVariables><allure.results.directory>/Users/allure/${ project.name}/allure-results</allure.results.directory> </systemPropertyVariables> </configuration> </plugin>
allure generate allure-results -o /Users/allure/allure-report -c -o 是自定义报告输出路径 -c 是情况历史报告重新生成
-
如何自定义allure的历史趋势图(微服务里面,分项目显示趋势图) 这篇文档里对这个点进行了详细的描述。 搞清楚allure-report包含的内容以及生成原理 allure-report文件夹: widgets文件夹里的json最重要,是当前构建出来页面上所有数据的原始数据。 history文件夹: 是历史所有构建+本次构建的所有详细信息 历史数据和趋势图传递规则 将history文件夹整个复制到allure-result中,allure-result是本次构建的结果,allure generate命令,会将history中的json和本地json进行整合,生成新的widgets和history。如此往复,每次生成新的allure-report都会包含历史的全部数据
上一篇:
5款热门的远程控制软件,让你事半功倍
下一篇:
使用Python打印爱心图案