[英]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 ...
}
}
從Spring 5開始,您可以並行運行Junit測試(使用Spring TestContext Framework ),我認為這正是您所尋找的:在同一JVM中同時執行。
有關更多信息,請參閱Baeldung的博客 。
以下是Gradle doc解釋Gradle中 Java插件的任務, 這里是API doc解釋所述插件的參數。
請仔細查看forkEvery和maxParallelForks參數。
設置這些應該給你足夠的控制來實現並行測試執行。
以下是指向maxParallelForks
應設置的值的SO答案 ,以便最大化加速。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.