单元测试目的是以最小的粒度保证代码的可靠性,从回归测试角度来考虑,可以在服务每次编译时自动调用单元测试,并将测试结果以邮件方式发送给相关人员,从而对每次提交的代码自动进行监测汇报,这些操作过程都有相关的插件可以完成,我们使Jenkins + Maven + Junit + JaCoCo来实现。JUnit完成基本的单元测试功能;JaCoCo用来进行代码覆盖率统计;Jenkins用来集成上述插件,在打包之前进行单元测试,并生成单元测试报告以及代码覆盖率报告,打包完成后将测试报告通过Email插件发送出去;Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过maven-surefire-plugin插件来执行JUnit或者TestNG的测试用例。
在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类。这组模式为:
**/Test*.java:任何子目录下所有命名以Test开关的Java类。
**/*Test.java:任何子目录下所有命名以Test结尾的Java类。
**/*TestCase.java:任何子目录下所有命名以TestCase结尾的Java类。
各插件配置如下
1)JUnit Generator -辅助自动生成单元测试类
Preferences->Plugins->Browse repositories->JUnitGenerator V2.0
2)maven-surefire-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<