如何使用Maven进行测试
2016-12-22 13:53
211 查看
如何使用Maven进行测试
Maven的重要职责之一就是自动运行单元测试,它通过maven-surefire-plugin与主流的单元测试框架JUnit3、JUnit4以及TestNG集成,并且能够自动生成丰富的结果报告。test阶段被定义“使用单元测试框架运行测试”。生命周期阶段需要丙丁某个插件的目标才能完成真正的工作,test阶段正式与maven-surefire-plugin的test目标相绑定,这是一个内置的绑定。
在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类。这组模式为:
*/Test.java
**/*Test.java
**/*TestCase.java
只要将测试类按上述模式命名,Maven就能自动运行它们,用户也就不再需要定义测试集合(TestSuite)来聚合测试用例了(TestCase)。
跳过测试
在命令行里加入参数 skipTests就可以跳过测试的执行
配置 POM 让项目长时间跳过单元测试
<configuration> <skipTests>true</skipTests> </configuration>
maven package -Dmaven.test.skip = ture,参数maven.test.skip同时控制了maven-compiler-plugin和maven-surefire-plugin两个插件,测试代码编译跳过了,测试运行也跳过了
动态指定要运行的测试用例
maven-surefire-plugin 提供了一个test参数
$ mvn test -Dtest = RadomGeneratorTest
也支持模式匹配,多个测试用例
包含与排除测试用例
包含 include
<configuration> <includes> <include>**/*Test.java<include> <includes> </configuration>
排除 exclude
测试覆盖率报告
$mvn cobertura:cobertura
重用测试代码
牛逼程序员会想对待产品代码一样细心维护测试代码,尤其是那些具体测试类继承的抽象类,它们能够简化测试代码的编写。
在命令行运行mven package的时候,Maven会将项目的主代码及资源文件打包,将其安装或部署仓库之后,这些代码就能为他人使用,从而实现Maven项目级别的重用。默认的打包行为是不会包含测试代码的,因此在使用外部依赖的时候,其构件一般都不会包含测试代码。
maven-jar-plugin
<executions> <execution> <goals> <goal>test-jar<goal> </goals> </execution> </executions>
maven-jar-plugin有两个目标,分别是jar和test-jar,前者通过Maven的内置绑定在default生命周期的package阶段运行,其行为就是对项目主代码进行打包,而后者并没有内置绑定,因此上述的插件配置显式声明该目标来打包测试代码。
相关文章推荐
- 如何使用LoadRunner进行winSocket的测试
- [引]ASP.NET 移动网页 与 如何:使用仿真程序和浏览器在部署移动 Web 应用程序之前对其进行测试
- 使用maven编译YCSB0.1.4对cassandra进行性能测试
- 通过测试和代码告诉你Maven是如何使用mirror和repository的
- 读书笔记:maven入门- 使用maven进行测试
- [引]ASP.NET 移动网页 与 如何:使用仿真程序和浏览器在部署移动 Web 应用程序之前对其进行测试
- 如何理解、使用Android LogCat以及通过Monkey进行压力测试
- 如何在LoadRunner中使用集合点进行测试(十一)
- 如何使用GIST+LIBLINEAR分类器提取CIFAR-10 dataset数据集中图像特征,并用测试数据进行实验
- 如何使用Juint4.7进行测试
- 使用LoadRunner进行压力测试时如何选择要录制的协议?
- 如何使用loadrunner进行并发测试,设置集合点
- [转]简单介绍如何使用robotium进行自动化测试
- 使用maven编译YCSB0.1.4对cassandra进行性能测试
- 如何使用HttpUnit进行上传文件测试
- Maven-15使用Maven进行测试
- 如何使用iMacros进行web程序中页面加载的性能测试
- 穷人如何使用测试驱动开发进行重构
- 使用jetty-maven-plugin插件进行测试
- Eclipse下创建好的Java工程如何使用Maven进行管理