簡體   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