使用maven进行测试
2018-01-08 00:00
232 查看
maven-surefire-plugin
maven的构建深的生命周期的各个阶段的具体工作都是通过插件来实现的,测试也不例外,maven-surefire-plugin就是maven测试阶段默认绑定的插件。maven-surefire-plugin默认会执行测试源码路径(src/test/java)下符合如下一组命名模式的测试类:
**/Test*.java : 任何子目录下以Test开头的java类
**/*Test.java:任何子目录下以Test结尾的java类
**/*TestCase.java:任何子目录下以TestCase.java结尾的java类
当然该插件也支持自定义的测试类的命名模式。
跳过测试
跳过测试有两种方式:1.skipTests : mvn package -DskipTests,编译测试类至target/classes下,不执行测试用例。
通过配置也可以实现:
![](https://static.oschina.net/uploads/space/2018/0107/202627_tz3v_2464465.png)
2.maven.test.skip: mvn package -Dmaven.test.skip=ture , 不编译源码也不执行测试用例
配置实现的方式:
![](https://static.oschina.net/uploads/space/2018/0107/202752_uXop_2464465.png)
动态指令指定要运行的测试用例
maven-surefire-plugin,提供了 一个test参数让用户通过命令行输入命令来指定要运行的测试用例。mvn test -Dtest=ATest,BTest,C*Test
maven-surefire-plugin 还提供了一个-DfailIfNoTest = false的参数让maven在没有测试类匹配的时候也不要报错,这也是另外一种跳过测试的方式
包含与排除测试用例
1、包含不符合默认类名模式的测试用例![](https://static.oschina.net/uploads/space/2018/0107/204229_x4Ex_2464465.png)
2、排除一些符合默认命名模式的测试类
![](https://static.oschina.net/uploads/space/2018/0107/204446_o7wL_2464465.png)
测试报告
1、基本的测试报告maven-surefire-plugin 会在target/surefire-reports目录下生成两种格式的错误报告
简单文本格式
与Junit兼容的xml的格式
2、测试覆盖率报告
覆盖率测试报告是通过cobertura这个工具来实现的,使用方式:
maven cobertura:cobertura
然后打开目录 target/site/cobertura下的index.html文件就可以看到相关的测试覆盖率的测试报告
重用测试代码
我们有可能用到其他模块的的测试代码,那么我们就需要将重用的测试类打包:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
![](https://static.oschina.net/uploads/space/2018/0108/133138_ZkJp_2464465.png)
让后再通过配置依赖,将包引入:
![](https://static.oschina.net/uploads/space/2018/0108/133017_Kief_2464465.png)
注意type为:test-jar
相关文章推荐
- maven中使用spring的test包结合junit4进行测试。
- 读书笔记:maven入门- 使用maven进行测试
- 使用jetty-maven-plugin插件进行测试
- 使用maven进行测试设置断点调试的方法
- 使用 Maven 进行测试
- 使用jetty-maven-plugin插件进行测试---学习笔记
- 使用jetty-maven-plugin插件进行测试
- 使用jetty-maven-plugin插件进行测试
- 使用maven进行测试(九)
- Hello Maven 7 - 使用Maven进行测试
- Maven-15使用Maven进行测试
- Maven下SSM项目整合笔记04:使用测试类进行数据库增删改查的测试
- 使用maven编译YCSB0.1.4对cassandra进行性能测试
- Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- 如何使用Maven进行测试
- IntelliJ IDEA 配合Maven使用Junit进行代码测试
- 使用Maven进行测试
- 解决 使用了maven的项目中,进行Junit测试时的 java.lang.NoClassDefFoundError
- 使用maven编译YCSB0.1.4对cassandra进行性能测试