读书人

maven中配备生成单元测试报告配置

发布时间: 2012-08-27 21:21:57 作者: rapoo

maven中配置生成单元测试报告配置

对junit单元测试的报告:

[java] view plaincopy

1. -------------------------------------------------------

2. T E S T S

3. -------------------------------------------------------

4. Running com.liuyan.account.mail.AccountImageServiceImplTest

5. ---------------------------------1990

6. Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.926 sec

7. Running com.liuyan.account.mail.AccountImageUtilTest

8. Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec

9.

10. Results :

11.

12. Tests run: 3, Failures: 0, Errors: 0, Skipped: 0

运行报告是junit自己的报告输出,和咱们在Eclipse运行的报告差不多。以上代表运行了3个用例,和预期效果不符的是0个,失败的用例是0个,忽略的用例数是0个。

如果需要跳过单元测试,则可以运行如下命令

[java] view plaincopy

1. mvn package -DskipTests

大家可能要问,为何Maven能够自己寻找我们编写的测试类呢?其实还是那句约定大于配置。Maven自动去寻找src/test/java下面的类,当此文件夹下面的类符合以下规范,那么Maven默认认为他们是单元测试用例类。

Test*.java:任何目录下以Test为开始的类

*Test.java: 任何目录下以Test为结尾的类

*TestCase.java: 任何目录下以TestCase为结尾的类。

如果想在一段时间内节省项目构建时间,暂时全部忽略单元测试。那么可以在pom.xml中配置如下

[java] view plaincopy

1. <build>

2. <plugins>

3. <plugin>

4. <groupId>org.apache.maven.plugins</groupId>

5. <artifactId>maven-surefire-plugin</artifactId>

6. <version>2.5</version>

7. <configuration>

8. <skipTests>true</skipTests>

9. </configuration>

10. </plugin>

11. </plugins>

12. </build>

等到项目完全开发完了,需要测试用例的时候将其注释掉即可。

本个模块有两个测试用例类,如果仅仅想运行一个测试用例该怎么办。运行下面命令

[java] view plaincopy

1. test -Dtest=AccountImageServiceImplTest

这个是指定具体运行哪个测试用例。当然需要将pom文件中忽略测试用例的配置注释掉。

也可以测试多个测试用例

[java] view plaincopy

1. mvn test -Dtest=AccountImageServiceImplTest,AccountImageUtilTest

也可以使用模糊匹配进行测试

[java] view plaincopy

1. mvn test -Dtest=*Test

[java] view plaincopy

1. <build>

2. <plugins>

3. <plugin>

4. <groupId>org.apache.maven.plugins</groupId>

5. <artifactId>maven-surefire-plugin</artifactId>

6. <version>2.5</version>

7. <configuration>

8. <includes>

9. <include>**/*Test.java</include>

10. </includes>

11. <excludes>

12. <exclude>**/AccountImageUtilTest.java</exclude>

13. </excludes>

14. </configuration>

15. </plugin>

16. </plugins>

17. </build>

includes是需要测试的类,excludes是要排除之外测试用例。可以使用模糊匹配。**用来匹配任意件路经,*匹配任意类。

Junit的单元测试报告:

<reporting>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-report-plugin</artifactId>

<version>2.12.2</version>

<configuration>

<showSuccess>false</showSuccess>

</configuration>

</plugin>

</plugins>

</reporting>

4. 测试报告

基本的测试报告上面已经介绍过了,下面我们看看测试覆盖率的报告。运行如下命令

[java] view plaincopy

1. mvn cobertura:cobertura

在target文件夹下出现了一个site目录,下面是一个静态站点,里面就是单元测试的覆盖率报告。



5. 总结

这次我们介绍了Maven的测试,可以运行项目的单元测试用例,并生成报告。使用者可以根据自己的需要配置测试选项以满足项目的测试需求。最后说一下,测试十分重要,往往大手笔的产品测试人员和开发人员的比例是2:1。

读书人网 >编程

热点推荐