Maven 单元测试

http://drizzlewalk.blog.51cto.com/2203401/1118536

一、maven-surefire-plugin简介
      maven-surefire-plugin支持JUnit和TestNG。默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径下所有以Test开头、Test或TestCase结尾的的Java类。

二、跳过测试
    如果想跳过测试阶段,可用:

1.  mvn package -DskipTests

    想临时性跳过测试代码的编译,可用:

1.  mvn package -Dmaven.test.skip=true

     maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。

三、手动指定测试用例
    maven-surefire-plugin的test参数用来指定要运行的测试用例:

1.  //指定测试类  

2.  mvn test -Dtest=RandomGeneratorTest  

3.  //Random开头,Test结尾的测试类  

4.  mvn test -Dtest=Random*Test  

5.  //用逗号分隔指定多个测试用例  

6.  mvn test -Dtest=ATest,BTest

     test参数必须匹配至少一个测试类,否则会报错并导致构建失败。此时可使用:

1.  mvn test -Dtest -DfailIfNoTests = false  

来指定即使没有任何测试用例也不要报错。
四、包含与排除测试用例

1.  <plugin>  

2.      <groupId>org.apahce.maven.plugins<groupId>  

3.      <artifactId>maven-surefire-plugin</artifactId>  

4.      <version>2.5</version>  

5.      <configuration>  

6.      <includes>  

7.          <include>** / *Tests.java</include>  

8.      </includes>  

9.      </configuration>    

10. </plugin>

     使用** / * Test.java 来匹配所有以Tests结尾的Java类。两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。

五、测试报告
1.基本的测试报告
     默认情况下,maven-surefire-plugin会在项目的target/surefire-reports下生成两种格式的错误报告:

·          简单文本格式 

·         与JUnit兼容的XML格式

2.测试覆盖率报告
    Cobertura是一个用来测试覆盖率统计工具。Maven通过cobertura-maven-plugin插件与之集成,命令

1.  mvn cobertura:cobertura

六、运行TestNG测试
    TestNG支持使用xml来配置要运行的测试用例。可用:

1.  <configuration>  

2.      <suiteXmlFiles>  

3.      <suiteXmlFile>testing.xml</suiteXmlFile>  

4.      </suiteXmlFiles>  

5.  </configuration>

   TestNG还支持测试组 

1.  <configuration>  

2.      <groups>util,medium</groups>  

3.  </configuration>

七、重用测试代码
    通过配置maven-jar-plugin将测试类打包

1.  <plugin>  

2.      <groupId>org.apahce.maven.plugins<groupId>  

3.      <artifactId>maven-jar-plugin</artifactId>  

4.      <version>2.2</version>  

5.      <executions>  

6.          <execution>  

7.          <goals>  

8.          <goal>test-jar</goal>  

9.          </goals>  

10.     </execution>  

11.     </executions>  

12. </plugin>

    打包后可以声明依赖:

1.  <groupId></groupId>  

2.  <artifactId></artifactId>  

3.  <version></version>  

4.  <type>test-jar</type>  

5.  <scope>test</scope> 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值