我想将测试分为 3 个不同的类别:
- 单元
- 组件
- 系统
然后我想在不同的阶段分别运行它们,并将这些测试的执行结果显示为 3 个不同的肯定报告,或者可能是一个,但测试结果分为 3 个不同的类别。
如何用maven实现它?
我知道我可以使用故障安全 Maven 插件单独运行测试。所以这不是问题。
唯一的问题是我可以将报告分为 3 类。
我想将测试分为 3 个不同的类别:
然后我想在不同的阶段分别运行它们,并将这些测试的执行结果显示为 3 个不同的肯定报告,或者可能是一个,但测试结果分为 3 个不同的类别。
如何用maven实现它?
我知道我可以使用故障安全 Maven 插件单独运行测试。所以这不是问题。
唯一的问题是我可以将报告分为 3 类。
我正在使用带有 junit 类别的 maven-surefire-plugin。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<executions>
<execution>
<id>unit-tests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<groups>com.mycompany.mavenproject2.UnitTest</groups>
<reportsDirectory> ${project.build.directory}/surefire-reports/unit</reportsDirectory>
<reportNameSuffix>UNIT</reportNameSuffix>
</configuration>
</execution>
<execution>
<id>comp-tests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<groups>com.mycompany.mavenproject2.ComponentTest</groups>
<reportsDirectory> ${project.build.directory}/surefire-reports/comp</reportsDirectory>
<reportNameSuffix>COMPONENT</reportNameSuffix>
</configuration>
</execution>
<execution>
<id>sys-tests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<groups>com.mycompany.mavenproject2.SystemTest</groups>
<reportsDirectory> ${project.build.directory}/surefire-reports/sys</reportsDirectory>
<reportNameSuffix>SYSTEM</reportNameSuffix>
</configuration>
</execution>
</executions>
</plugin>
它工作正常,除了它首先运行所有测试而不是将它们分成类别。 如何消除这种行为?
运行 com.mycompany.mavenproject2.AppTest UnitTest ComponentTest SystemTest 测试运行:3,失败:0,错误:0,跳过:0,经过时间:0.031 秒
结果 :
测试运行:3,失败:0,错误:0,跳过:0
[surefire:test] Surefire 报告目录:C:\Users\mz\Documents\NetBeansProjects\mavenproject2\target\surefire-reports\unit
并发配置为 parallel='none', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false Running com.mycompany.mavenproject2.AppTest UnitTest 测试运行:1,失败:0,错误:0,跳过:0,经过时间:0.003秒
结果 :
测试运行:1,失败:0,错误:0,跳过:0
[surefire:test] Surefire 报告目录:C:\Users\mz\Documents\NetBeansProjects\mavenproject2\target\surefire-reports\comp
并发配置为 parallel='none', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false Running com.mycompany.mavenproject2.AppTest ComponentTest 测试运行:1,失败:0,错误:0,跳过:0,经过时间:0.003秒
结果 :
测试运行:1,失败:0,错误:0,跳过:0
[surefire:test] Surefire 报告目录:C:\Users\mz\Documents\NetBeansProjects\mavenproject2\target\surefire-reports\sys
并发配置为 parallel='none', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false Running com.mycompany.mavenproject2.AppTest SystemTest 测试运行:1,失败:0,错误:0,跳过:0,经过时间:0.003秒
结果 :
测试运行:1,失败:0,错误:0,跳过:0