繁体   English   中英

如何在Gradle中为单个测试类并行执行JUnit测试

[英]How to execute JUnit tests in parallel for a single test class in Gradle

我们有很多使用Spring的集成测试。 我们不想为每个测试创建单独的JVM进程(maxParallelForks选项)或仅在多模块项目(--parallel)中运行并行构建。

我们希望单个测试类在Maven中并行执行测试,如http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html和并行测试选项

使用parallel选项时要记住的重要事项是:并发发生在同一个JVM进程中。

是否可以在Gradle中实现?

@MariuszS答案是最好的

Gradle是没有xml的蚂蚁,也许这可以帮助你ant.apache.org/manual/Tasks/parallel.html :)

最接近实现它的方法在这里描述 - https://discuss.gradle.org/t/how-to-use-ants-parallel-target/6720/5

task runAllTestsByGroups << {
      ant.parallel(threadsPerProcessor: 1) {
                    ant.junit (...) {
            // run test group 1
            ...
        }
          ant.junit(...) {
            // run test group 2
            ...
       }
         // run group 3, 4, 5 ...
    }
  }

春天5:街区新生儿

从Spring 5开始,您可以并行运行Junit测试(使用Spring TestContext Framework ),我认为这正是您所寻找的:在同一JVM中同时执行。

有关更多信息,请参阅Baeldung的博客


原始答案:

以下是Gradle doc解释Gradle中 Java插件的任务, 这里是API doc解释所述插件的参数。

请仔细查看forkEverymaxParallelForks参数。

设置这些应该给你足够的控制来实现并行测试执行。

以下是指向maxParallelForks应设置的值的SO答案 ,以便最大化加速。

暂无
暂无

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

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