我想要两次运行maven测试,第二次运行必须在第一次运行之后。是否有任何命令可以两次激活mvn测试?
答案 0 :(得分:1)
这是一种简单的方法
public class RepeatTests extends TestCase {
public static Test suite() {
TestSuite suite = new TestSuite(RepeatTests.class.getName());
for (int i = 0; i < 10; i++) {
suite.addTestSuite(YourTest.class);
}
return suite;
}
}
这样你可以运行任何你想要的测试用例。
编辑:
正如here所解释的那样,如果测试用例之间有任何共同命名,则可以正常工作
import org.junit.extensions.cpsuite.ClasspathSuite;
import org.junit.runner.RunWith;
@RunWith(ClasspathSuite.class)
@ClassnameFilters({".*UnitTest"})
public class MySuite {
}
答案 1 :(得分:1)
为什么要两次运行它们?
您可以做的是宣布再次执行surefire插件。小心修改配置(例如:更改reportsDirectory
),否则maven将跳过第二次执行:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>test-second-run</id>
<goals>
<goal>test</goal>
</goals>
<phase>test</phase>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports-2</reportsDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>