surefire forkMode只导致最后一次测试记录在TestSuite.txt中

时间:2010-09-30 12:17:45

标签: java unit-testing maven-2 fork surefire

我的pom.xml中有以下内容

        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
            <configuration>
                <excludes>
                    <!-- exclude integration tests -->
                    <exclude>**/IT*.java</exclude>
                </excludes>
        <!-- Enable the following for Cassandra unit test 
             support --> 
        <forkMode>pertest</forkMode>
            </configuration>
        </plugin>

当我执行'mvn test'时,最后我只在TEST-TestSuite.txt中获得最后一次测试运行的结果。

我确实希望启用forking,因为我正在测试一些Cassandra交互,我想做间歇性的数据库清理。

$ mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.6.0_18
Java home: /usr/java/jdk-1.6.0_18/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.32-24-generic" arch: "amd64" Family: "unix"

1 个答案:

答案 0 :(得分:0)

到目前为止,似乎Surefire / TestNG组合根本不支持这一点。我转而使用JUnit进行测试/集成测试,并获得了我想要的功能。对我来说最大的损失是丢失@Test(优先级)注释,但我只是重新构建我的测试以解释这一点。