一、maven-surefire-plugin简介
maven-surefire-plugin支持JUnit和TestNG。默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径下所有以Test开头、Test或TestCase结尾的的Java类。
二、跳过测试
如果想跳过测试阶段,可用:
mvn package -DskipTests
想临时性跳过测试代码的编译,可用:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。
三、手动指定测试用例
maven-surefire-plugin的test参数用来指定要运行的测试用例:
//指定测试类
mvn test -Dtest=RandomGeneratorTest
//以Random开头,Test结尾的测试类
mvn test -Dtest=Random*Test
//用逗号分隔指定多个测试用例
mvn test -Dtest=ATest,BTest
test参数必须匹配至少一个测试类,否则会报错并导致构建失败。此时可使用:
mvn test -Dtest -DfailIfNoTests = false
来指定即使没有任何测试用例也不要报错。
四、包含与排除测试用例
<plugin>
<groupId>org.apahce.maven.plugins<groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<includes>
<include>** / *Tests.java</include>
</includes>
</configuration>
</plugin>
使用** / * Test.java 来匹配所有以Tests结尾的Java类。两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。
五、测试报告
1.基本的测试报告
默认情况下,maven-surefire-plugin会在项目的target/surefire-reports目录下生成两种格式的错误报告:
XML可用Eclipse的JUnit插件打开?
2.测试覆盖率报告
Cobertura是一个用来测试覆盖率统计工具。Maven通过cobertura-maven-plugin插件与之集成,命令如下:
mvn cobertura:cobertura
六、运行TestNG测试
TestNG支持使用xml来配置要运行的测试用例。可用:
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testing.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
TestNG还支持测试组
<configuration>
<groups>util,medium</groups>
</configuration>
七、重用测试代码
通过配置maven-jar-plugin将测试类打包
<plugin>
<groupId>org.apahce.maven.plugins<groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
打包后可以声明依赖:
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type>test-jar</type>
<scope>test</scope>
分享到:
相关推荐
使用Maven运行单元测试 将项目安装到Maven本地资源库 生成基于Maven的项目文档站点 使用“mvn site-deploy”部署站点(WebDAV例子) 部署基于Maven的war文件到Tomcat Eclipse创建一个Maven Web项目 在易百教程网...
jacoco单元测试覆盖率+maven DEMO
maven项目,单元测试jacoco、junit...........................................................................................
在dubbo的注册服务下单元测试,然后扫描 注册上来的各种服务,轻松测试每个注册服务
单元测试覆盖率
MvnTestsSeparation 尝试使用 maven 分离单元测试和集成测试
[JavaWeb]_[初级]_[对Jfinal框架的Controller进行单元测试] 博客文章https://infoworld.blog.csdn.net/article/details/124176492对应的项目, 使用maven管理项目,导入pom.xml.
Maven 项目对象模型 Maven搭建过程 web 模块加载另外一个web模块方法 Myeclipse Maven 忽略单元测试打包 一个多maven项目聚合的实例
空白的,经过单元测试的,mavenWeb项目
介绍这个示例项目展示了如何分别运行单元测试和集成测试仅通过测试安装应用程序 mvn clean install仅运行测试 mvn test使用测试和集成测试安装应用程序 mvn clean install -Pintegration-test运行集成测试 mvn ...
[JavaWeb]_[初级]_[对Jfinal框架的Service层进行单元测试] 的项目代码, https://infoworld.blog.csdn.net/article/details/124101582 使用Maven导入, Java8以上版本支持。
详细描述了持续集成环境的搭建步骤,包括集成hudson sonar maven等环境进行单元测试自动执行,代码规则校验等。是搭建持续集成环境,改建软件自动化测试和校验的学习精品。
使用进行单元测试以模拟类并测试System.exit() 用编写的集成测试 使用进行集成测试以测试System.out 通过Soanr的代码覆盖率报告。 一个将所有内容组合在一起的Maven构建 运行测试 要运行单元测试,请致电mvn test...
使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven Reference 9. 项目对象模型 9.1. 简介 9.2. POM 9.2.1. 超级POM 9.2.2. 最简单的POM 9.2.3. 有效POM 9.2.4. 真正的POM 9.3. ...
使用Idea工具建立的Maven工程,整合Spring和MyBatis,成功通过单元测试
单元测试应该在何处进行?依赖的jar包应该如何放置?如何构建项目,如何形成文档,如何测试和部署项目?项目人员的最终选择方案会影响到项目的整个生命周期!构建一个Java项目可以使用很多工具,相信许多组织必须在 ...
jeeweb是优秀的web快速开发框架jeeweb-mybatis非maven版本
4. **项目报告和文档**:Maven可以生成各种项目报告和文档,如代码覆盖率报告、单元测试报告、项目文档等。 5. **集成工具**:许多IDE和构建工具都支持Maven,使得开发者可以方便地使用Maven进行项目管理。
工程名ssmm表示:springmvc+spring+mybatis+maven ...使用Junit4进行单元测试, 使用Log4j管理日志 本例仅为示例,结构简单,不包含Ajax 测试url http://localhost:8080/ssmm_demo/userController/showUser.do?id=1 ...
该项目包含两种针对Maven构建执行的措施,每种措施均作为JUnit单元测试提供(在src/test/java ): MvnValidateProfilingTest可用于调查在使用给定Maven版本进行的一次构建中内存分配的起源(使用QuickPerf ), ...