繁体   English   中英

如何使用 maven surefire 插件并行运行 junit 套件

[英]How to run junit suite in parallel using maven surefire plugin

我有一个测试套件说 JunitTest1 和 JunitTest2 如下,

@RunWith(Suite.class)
@SuiteClasses({ 
    com.sample.test1.class,
    com.sample.test2.class,
    com.sample.test3.class,
})

public class JunitTest1 {

}

@RunWith(Suite.class)
    @SuiteClasses({ 
        com.sample.xxx1.class,
        com.sample.xxx2.class,
        com.sample.xxx3.class,
    })

    public class JunitTest2 {

    }

我想并行运行两个测试套件,但测试套件内的测试类应按指定顺序运行。 我在 maven pom.xml 中添加了以下插件,

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <parallel>suites</parallel>
                    <threadCount>2</threadCount>
                    <!-- <forkCount>1</forkCount>
                    <reuseForks>true</reuseForks> -->
                </configuration>
            </plugin>

我已经按照这个链接 - http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html

我已经尝试了所有可能的并行标记组合,如方法、类、两者、套件、套件和类、套件方法、类方法,但似乎没有任何方法可以解决我的问题。 如果我使用套件,测试套件仍按顺序运行,而对于其他选项,测试套件中的测试类以随机顺序运行

有什么我做错了吗? 任何人都可以指导我解决这个问题吗?

junit 测试应该相互独立。 junit 不提供排序测试的方法,以防止您编写依赖于其他测试的测试。

关于此主题还有其他 SO 主题:

如何使用 Junit 按顺序运行测试方法

http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM