1.使用maven 在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类。这组模式为:
- **/Test*.java:任何子目录下所有命名以Test开关的Java类。
- **/*Test.java:任何子目录下所有命名以Test结尾的Java类。
- **/*TestCase.java:任何子目录下所有命名以TestCase结尾的Java类。
2.想要跳过maven测试需要在maven命令后添加-DskipTests 参数 如 mvn install -DskipTests 在 Eclipse中使用maven时不需要添加mvn命令
只需执行 install -DskipTests 命令即可。也可在pom.xml中配置插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
有时候不仅要跳过测试运行,还要跳过测试代码的编译:
mvn install -Dmaven.test.skip=true
也可在pom.xml中添加如下配置
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
3.运行指定的测试类mvn test -Dtest=Spring*Test,Test*,*.TestCase 可以使用通配符* 使用,分隔多个测试类 在命令中已经明确运行测试类单未指定测试类 mvn test -Dtest 时 maven会报错 使用mvn test -Dtest -DfailIfNoTests=false 可以避免报错,是跳过测试的最佳方法</span></span>3.使用maven-surefire-plugin插件添加不符合默认命名模式的测试类 或排除测试类
<pre name="code" class="html"><plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
<excludes>
<exclude>**/*ServiceTest.java</exclude>
<exclude>**/TempDaoTest.java</exclude>
</excludes>
</configuration>
</plugin>
4生成测试报告
默认情况下,maven-surefire-plugin会在项目的target/surefire-reports目录下生成两种格式的错误报告 文本格式和xml格式,xml格式与junit兼容。