您的位置:首页 > 其它

使用maven进行测试

2018-01-08 00:00 232 查看

maven-surefire-plugin

maven的构建深的生命周期的各个阶段的具体工作都是通过插件来实现的,测试也不例外,maven-surefire-plugin就是maven测试阶段默认绑定的插件。

maven-surefire-plugin默认会执行测试源码路径(src/test/java)下符合如下一组命名模式的测试类:

**/Test*.java : 任何子目录下以Test开头的java类

**/*Test.java:任何子目录下以Test结尾的java类

**/*TestCase.java:任何子目录下以TestCase.java结尾的java类

当然该插件也支持自定义的测试类的命名模式。

跳过测试

跳过测试有两种方式:

1.skipTests : mvn package -DskipTests,编译测试类至target/classes下,不执行测试用例。

通过配置也可以实现:



2.maven.test.skip: mvn package -Dmaven.test.skip=ture , 不编译源码也不执行测试用例

配置实现的方式:



动态指令指定要运行的测试用例

maven-surefire-plugin,提供了 一个test参数让用户通过命令行输入命令来指定要运行的测试用例。

mvn test -Dtest=ATest,BTest,C*Test

maven-surefire-plugin 还提供了一个-DfailIfNoTest = false的参数让maven在没有测试类匹配的时候也不要报错,这也是另外一种跳过测试的方式

包含与排除测试用例

1、包含不符合默认类名模式的测试用例



2、排除一些符合默认命名模式的测试类



测试报告

1、基本的测试报告

maven-surefire-plugin 会在target/surefire-reports目录下生成两种格式的错误报告

简单文本格式

与Junit兼容的xml的格式

2、测试覆盖率报告

覆盖率测试报告是通过cobertura这个工具来实现的,使用方式:

maven cobertura:cobertura

然后打开目录 target/site/cobertura下的index.html文件就可以看到相关的测试覆盖率的测试报告

重用测试代码

我们有可能用到其他模块的的测试代码,那么我们就需要将重用的测试类打包:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>




让后再通过配置依赖,将包引入:



注意type为:test-jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: