当前位置: 首页 > 知识库问答 >
问题:

JUnit和Surefire并行测试--ForkCount和ThreadCount

百里星纬
2023-03-14
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <includes>
                        <include>${testSuite}</include>
                    </includes>
                    <parallel>all</parallel>
                    <useSystemClassLoader>false</useSystemClassLoader>
                    <perCoreThreadCount>false</perCoreThreadCount>
                    <threadCount>20</threadCount>
                    <browser>${browser_type}</browser>
                </configuration>
            </plugin>

如果我使用forkcount,如下所示:

<forkCount>20</forkCount>
<reuseForks>true</reuseForks>

然后,当测试执行第一次开始时,所有的web驱动程序都填满了,但是它很快就开始删除并一次执行一个驱动程序。

所以我的问题是:

    null

共有1个答案

仲孙焱
2023-03-14

您必须提供显式的junit测试提供程序:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.18.1</version>
        </dependency>
    </dependencies>
    <configuration>
        <parallel>all</parallel>
        <useUnlimitedThreads>true</useUnlimitedThreads>
        <useSystemClassLoader>false</useSystemClassLoader>
        <includes>
            <include>${testSuite}</include>
        </includes>
        <systemPropertyVariables>
            <browser>${browser_type}</browser>
        </systemPropertyVariables>
     </configuration>
</plugin>

您应该使用JUnit4.7+,因为旧版本不能正确地进行并行测试。

另外,如果测试不影响JVM运行时,您可以省略与fork相关的参数(通常情况下不是这样)。

 类似资料:
  • 我正在试验如何与maven surefire和testng并行运行测试。然而,配置似乎不是很简单,我无法让它工作。下面是我的虚拟测试。 这是我的surefire配置: 测试基本上是按顺序运行的。以下是日志作为证据: 我的意图是并行运行所有测试(直到方法级别)。那么,我该如何实现呢?

  • 它是可以配置surefire插件只运行一些测试并行和其他顺序? 也可以使用surefireforkCount来运行声明为jUnit Suite的并行测试吗?

  • 问题内容: 由于某种原因,我无法获得Maven 2 Surefire插件来执行JUnit 4测试类。 但是,如果我将此类更改为类似于JUnit-3的类,例如 然后执行它。这是我所做的: 验证的Maven版本:Apache Maven 2.2.1(r801777; 2009-08-06 20:16:01 + 0100) 验证的Surefire版本:遵循此建议 经过验证的Surefire版本:我的选中

  • 我正在尝试使用Junit并行运行cucumber特性文件,如官方文档中所述[https://cucumber.io/docs/guides/parallel-execution/#junit],但在我的项目中,我使用Gradle而不是Maven,不知道如何实现这一部分:

  • 在Maven项目中,我使用PowerMock easymock运行jUnit测试用例。但是,在进行“mvn清洁安装”时,我的输出低于。。 运行TestSuite测试运行:2,失败:0,错误:0,跳过:0,运行时间:0.621秒 结果: 测试运行:2,失败:0,错误:0,跳过:0 但我还有很多其他的测试用例。这是pom的一部分。xml 如果我删除PowerMock依赖项并执行“mvn clean i

  • 当在我的pom.xml中启用强制使用JUnit47提供程序时,我得到: pom.xml如下所示