Maven2插件surefire配置心得
精选
转载
Maven2插件surefire配置心得1、不运行junit测试。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
2、指定要运行的junit测试。
默认时,只要是符合以下三种命名规则的junit测试都要运行:
(1)命名以Test字符开头的类
(2)命名以Test字符结尾的类
(3)命名以TestCase字符结尾的类
如果我们只要运行其中的一个或者一组测试代码,需要按照以下方式配置:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>Sample.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
3、指定不运行的junit测试。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
一、junit运行结果不影响package或者install。
maven2打包前会运行junit,但是,有时我们希望即使出现了错误,也要打包。maven2的设计者已经考虑到这种情况了。pom.xml文件配置内容如下:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
本文所有的说明均对surefire2.3版本。在pom.xml文件中配置Maven SureFire Plugin插件:
<project>
[...]
<build>
<plugins>
<plugging>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
……
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
可以在<configuration>……</configuration>中配置surefire插件的参数。本文以下内容均对configuration结点进行说明。
一、 必须的参数:
basedir
project路径。在测试用例中,可以用System.getProperty(“basedir”)获取basedir值。
testClassesDirectory
保存测试用例编译后的文件的路径。
默认值:target/test-classes
testSourceDirectory
保存测试用例源代码的路径。
默认值:src/test/java
二、 可选的参数
disableXmlReport
标识是否不生成xml格式的测试报告。
默认值:false
excludedGroups
要排除的测试组。任何在这里列出的测试组都不执行。
forkMode
可设置值有:never, once or always。
默认:once.
groups
如果指定了,只有在组中的用例才会执行。
jvm
指定可运行的java虚拟机(或者指定可运行的java)。
默认:使用和maven相同的虚拟机。
printSummary
执行出错时是否打印错误信息。
默认:true
reportFormat
选择要生成的测试报告的格式。可设置值有:brief ,plain。
默认:brief.
reportsDirectory
测试报告生成路径
skipExec
设置为true时,测试用例被编译,但是不会执行。
threadCount
执行时,指定可分配的线程数量。只和参数parallel配合使用有效。
默认:5.
trimStackTrace
是在测试报告中调整堆栈跟踪信息的行数,还是显示所有的跟踪信息。
默认:true
useFile
生成测试报告还是只输出到控制台。
默认:true.