如何使用maven两次运行测试?

时间:2014-09-03 11:43:51

标签: java maven

我想要两次运行maven测试,第二次运行必须在第一次运行之后。是否有任何命令可以两次激活mvn测试?

2 个答案:

答案 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>