目的:在使用Junit做单元测试的时候,测试报告 Test Result 略显寒碜
使用allure进行测试报告的美化可以大幅提高测试人员阅读体验
以下详细介绍allure与jenkins、Junit集成过程:
-
jenkins插件页面下载安装 Allure Jenkins Plugin 插件
-
在全局变量配置Java与allure
-
在项目的pom.xml文件中加入allure依赖,并进行相关配置,参考如下:
<properties> <aspectj.version>1.8.10</aspectj.version> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-junit5</artifactId> <version>2.13.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <testFailureIgnore>false</testFailureIgnore> <argLine> -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" </argLine> <systemProperties> <property> <name>junit.jupiter.extensions.autodetection.enabled</name> <value>true</value> </property> <property> <name>allure.results.directory</name> <value>${project.build.directory}/allure-results</value> </property> </systemProperties> </configuration> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>RELEASE</version> </dependency> </dependencies> </plugin> <plugin> <groupId>io.qameta.allure</groupId> <artifactId>allure-maven</artifactId> <version>2.10.0</version> <configuration> <reportVersion>2.4.1</reportVersion> </configuration> </plugin> </plugins> </build>
-
在Jenkinsfile中的post阶段加入allure步骤
allure includeProperties: false, jdk: 'java8', results: [[path: 'target/allure-results']]
-
运行流水线打开Allure页面,可看到美化的报告页面
-
关于无法看到报告(UI的会出现,API的不会出现,也是奇怪)
解决办法:把allure_report 的history copy到 allure_results下 -
jenkins project 页面一直无法显示趋势图,目前并没有找到解决方法