生命周期阶段需要绑定到某个插件的目标才能完成真正的工作,test阶段正是与maven-surefire-plugin的test目标相绑定了,这是一个
内置的绑定。
在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java)下所有符合一组命名模式的测试类。
这组模式为:
**/Test*.java:任何子目录下所有命名为Test开头的Jave类。
**/*Test.java:任何子目录下所有命名为Test结尾的Jave类。
**/*TestCase.java:任何子目录下所有命名为TestCase结尾的Jave类。
使用mvn package-DskipTests跳过测试。
配置插件跳过测试运行
动态指定要运行的测试用例
maven-surefire-plugin提供了一个test参数让Maven用户能够在命令行指定要运行的测试用例。
mvn test –Dtest=RandomGeneratorTest
mvn test –Dtest=Random*Test
mvn test –Dtest=RandomGeneratorTest,AccountCaptchaServiceTest
mvn test –Dtest=Random*Test,AccountCaptchaServiceTest
对于一些测试用例可以单独生成jar
插件配置指定要运行的测试类
基本的测试报告
默认情况下,maven-surefire-plugin会在项目的target/surefire-reports目录下生成两种格式的错误报告:
*简单文本格式
*与Junit兼容的XML格式
测试覆盖率报告
测试覆盖率是衡量项目代码质量的一个重要的参考指标。Cobertura是一个优秀的开源测试覆盖率统计工具。
执行mvn cobertura:cobertura 在target/site/cobertura/下的index.html文件。