我正在尝试解决一种奇怪的行为:
从gradle(v3.4.1。)运行测试时:花费6分钟(在控制台中报告)
但测试报告仅报告〜3min 40s
当运行相同的测试时,使用IDEA的junit运行器大约需要1分钟30秒。
我不知道这些差异在哪里。理想情况下,我想像在IDEA中一样快地运行gradle测试(在jenkins上)
(配置步骤仅需11s,因此不是)
我看到很多Gradle Test Executor 149(每个类(class)一个)-不确定是否与任何东西相关。
15:01:23.138 [DEBUG] [org.gradle.process.internal.worker.child.ActionExecutionWorker] Starting Gradle Test Executor 32.
15:01:23.170 [INFO] [org.gradle.internal.nativeintegration.services.NativeServices] Initialized native services in: C:\Users\user\.gradle\native
15:01:23.170 [INFO] [org.gradle.api.internal.tasks.testing.worker.TestWorker] Gradle Test Executor 32 started executing tests.
15:01:23.269 [DEBUG] [TestEventLogger] Gradle Test Executor 32 STARTED
15:01:23.285 [DEBUG] [org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor] Executing test class com.MyTest
15:01:23.285 [DEBUG] [TestEventLogger] com.MyTest STARTED
15:01:23.602 [DEBUG] [TestEventLogger] Gradle Test Executor 32 PASSED
15:01:23.602 [INFO] [org.gradle.api.internal.tasks.testing.worker.TestWorker] Gradle Test Executor 32 finished executing tests.
15:01:23.604 [DEBUG] [org.gradle.process.internal.worker.child.ActionExecutionWorker] Completed Gradle Test Executor 32.
15:01:23.643 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: SUCCEEDED
15:01:23.644 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'Gradle Test Executor 32' finished with exit value 0 (state: SUCCEEDED)
15:01:23.645 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.55.85 completed (1 in use)
15:01:23.645 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.55.86 started (1 in use).
15:01:23.658 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpIncomingConnector] Listening on [b10e1e1c-468c-4f31-9409-42bb9cc0ee93 port:52755, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]].
15:01:23.658 [DEBUG] [org.gradle.process.internal.worker.DefaultWorkerProcessBuilder] Creating Gradle Test Executor 33
最佳答案
我发现gradle插件正在配置项目
test {
forkEvery = 1
}
这就解释了为什么我有那么多Gradle测试执行程序。
我将其恢复为默认值0,并且测试时间大大改善了。
关于java - Junit时差Gradle与IDEA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43979646/