最近一直在学习Jenkins的使用,在研究生成测试报告的时候,没有成功。由于本人之前对测试报告没有了解,所以回到的开发环境,了解了一下Junit测试报告的生成,以下为学习到的总结希望对同有此方面需求的人能有所帮助。
Junit是单元框架,最初用于许多java应用软件作为一个单元测试框架之一。默认情况下,JUnit测试生成一个简单的XML文件测试执行报告。然后这些XML文件可以被用来生成任何自定义报表按测试要求。我们也可以使用XML文件生成HTML报告。
我的测试类的内空比较简洁,是网上摘抄的:
package com.lesson.util;
import org.junit.Assert;
import org.junit.Test;
/**
* Created by rosedoria on 2018/8/28.
*/
public class SampleTest {
@Test
public void testMethodOne(){
Assert.assertTrue(true);
}
@Test
public void testMethodTwo(){
Assert.assertTrue(false);
}
}
并且在Pom.xml文件中,引入对Junit的依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
在Maven进行test、package等命令时,会默认使用 maven-surefire-plugin 插件来生成测试报告,此种方式生成的为XML文件和TXT类型文件。并存放在其自动生成的目录surefire-reports下。
引入插件依赖以及运行test命令的编译结果,注意该命令如果不指定测试类的地址,默认会扫描maven目录结构下test目录中类似
1、Test*.java:任何目录下以Test为开始的类
2、*Test.java: 任何目录下以Test为结尾的类
3、*TestCase.java: 任何目录下以TestCase为结尾的类。
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ order ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ order ---
[INFO] No tests to run.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.690 s
[INFO] Finished at: 2018-08-29T16:27:58+08:00
[INFO] ------------------------------------------------------------------------
若此目录为空,则会在maven命令test执行结束之后,显示以上结果 : No tests to run.
以下为正确的配置及结果显示,包含依赖的引入、test命令执行结果以及生成的文件,及test目录下的测试类。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<includes>
<!-- -->
</includes>
<excludes>
<!-- -->
</excludes>
</configuration>
</plugin>
D:\java\jdk1.8.0_171\bin\java -Dmaven.multiModuleProjectDirectory=D:\Project\project_study\jenkinStudy\order -Dmaven.home=D:\java\apache-maven-3.5.3 -Dclassworlds.conf=D:\java\apache-maven-3.5.3\bin\m2.conf "-javaagent:D:\Software\Idea\IntelliJ IDEA 2017.1.3\lib\idea_rt.jar=5286:D:\Software\Idea\IntelliJ IDEA 2017.1.3\bin" -Dfile.encoding=UTF-8 -classpath D:\java\apache-maven-3.5.3\boot\plexus-classworlds-