首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Maven札记11-Maven进行测试

2012-07-28 
Maven笔记11-Maven进行测试1. maven-surefire-plugin??? 该插件的test目标会自动执行测试源码路径,默认为s

Maven笔记11-Maven进行测试

1. maven-surefire-plugin

??? 该插件的test目标会自动执行测试源码路径,默认为src/test/java下负荷下列命名模式的测试类:

??? (1) **/Test*.java:任何目录下所有命名以Test开头的Java类;

??? (2) **/*Test.java:任何子目录下所有命名以Test结尾的Java类;

??? (3) **/*TestCase.java:热河子目录下所有以TestCase结尾的Java类。

2. 跳过测试

??? (1) 命令行

??? mvn pacage -DskipTests

??? (2) XML配置

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-surfire-plugin</artifactId>

??????? <version>2.5</version>

??????? <confuguration>

??????????? <skipTests>true</shipTests>

??????? </configuration>

??? </plugin>

3. 跳过测试代码的编译和测试

??? (1) 命令行:mvn package -Dmaven.test.skip=true

??? (2) XML配置

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-compile-plugin</artifactId>

??????? <version>2.1</version>

??????? <confuguration>

??????????? <skip>true</ship>

??????? </configuration>

??? </plugin>

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-surfire-plugin</artifactId>

??????? <version>2.5</version>

??????? <confuguration>

??????????? <skip>true</ship>

??????? </configuration>

??? </plugin>

4. 动态指定要运行的测试类

??? mvn test -Dtest=RandomTest

??? mvn test -Dtest=Rando*Test

??? mvn test -Dtest=Rando*Test, User*Test

??? 若没有任何测试类,可加上下面的参数概述Maven即使没有测试类也不要报错:

??? mvn -test -Dtest -DfailIfNoTests=false

5. 包含于排除测试用例

??? (1) 自动运行以Tests结尾的测试类

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-surfire-plugin</artifactId>

??????? <version>2.5</version>

??????? <confuguration>

??????????? <includes>

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

??????????? </includes>

??????? </configuration>

??? </plugin>

?

??? (2) 排除运行测试类

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-surfire-plugin</artifactId>

??????? <version>2.5</version>

??????? <confuguration>

??????????? <excludes>

??????????????? <exclude>**/ServiceTest1.java</include>

??????????????? <exclude>**/ServiceTest2.java</include>

??????????? </excludes>

??????? </configuration>

??? </plugin>

6. 测试覆盖率报告

??? 使用下面命令生成简单的报告:

??? mvn cobertura:cobertura

??? 生成的报告位于工程的target/site/cobura/index.html

7. 重用测试代码

??? maven-jar-plugin有两个目标:jar和test-jar,其中jar目标内置绑定在default生命周期的package阶段执行,

??? 对项目主代码进行打包,而test-jar用来打包测试代码,配置为:

??? <plugin>

??????? <groupId>org.apache.maven.plugins</groupId>

??????? <artifactId>maven-jar-plugin</artifactId>

??????? <version>2.2</version>

??????? <executions>

??????????? <execution>

??????????????? <goals>test-jar</goals>

??????????? </execution>

??????? </executions>

??? </plugin>

??? 依赖测试包构件:

??? <dependency>

??????? <groupId>org.dmwdp.web</groupId>

??????? <artifactId>web-test</artifactId>

??????? <version>1.0.0</version>

??????? <type>test-jar</type>

??????? <scope>test</scope>

??? </dependency>

热点排行