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

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

1.  mvn package -DskipTests

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

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

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

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

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.    

2.      org.apahce.maven.plugins  

3.      maven-surefire-plugin  

4.      2.5  

5.        

6.        

7.          ** / *Tests.java  

8.        

9.          

10.

     使用** / * 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.    

2.        

3.      testing.xml  

4.        

5. 

   TestNG还支持测试组 

1.    

2.      util,medium  

3. 

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

1.    

2.      org.apahce.maven.plugins  

3.      maven-jar-plugin  

4.      2.2  

5.        

6.            

7.            

8.          test-jar  

9.            

10.       

11.       

12.

    打包后可以声明依赖:

1.    

2.    

3.    

4.  test-jar  

5.  test