使用 Gradle 测试在“实例化测试...”处挂起 20 秒

Eth*_*ler 4 gradle junit-jupiter quarkus

我正在使用 Gradle 运行测试,在实际运行测试之前,它会显示“实例化测试...”大约 20 秒。我怎样才能避免这种情况?

实例化测试

我正在使用Quarkus 2.2.3.Final, 和gradle-7.2.

我的测试课:

class OrganizationServiceImplTest {
    @Test
    void getAllOrganizations() {
        assertTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

运行配置显示以下运行命令:

class OrganizationServiceImplTest {
    @Test
    void getAllOrganizations() {
        assertTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

想法日志文件显示如下:

2022-11-09 21:56:29,387 [117677008]   INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from C:\Program Files\OpenJDK\jdk-17.0.2 
2022-11-09 21:56:29,387 [117677008]   INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from C:\Program Files\OpenJDK\jdk-17.0.2 
2022-11-09 21:56:29,466 [117677087]   INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: --init-script C:\Users\242924\AppData\Local\Temp\1\ijmapper.gradle --tests com.doortodoor.services.impl.OrganizationServiceImplTest.getAllOrganizations --init-script C:\Users\242924\AppData\Local\Temp\1\ijresolvers.gradle 
2022-11-09 21:56:30,284 [117677905]   INFO - rationStore.ComponentStoreImpl - Saving appDaemonCodeAnalyzerSettings took 64 ms 
2022-11-09 21:56:30,381 [117678002]   INFO - rationStore.ComponentStoreImpl - Saving Project(name=quarkus-quickstart-security, containerState=COMPONENT_CREATED, componentStore=C:\source\quarkus-quickstart-security)Encoding took 11 ms, RunManager took 36 ms 
Run Code Online (Sandbox Code Playgroud)

我尝试过但不起作用的解决方案包括:

方案一:使用Eclipse编译器

为什么 IntelliJ 需要 20 秒以上才能启动单元测试? 编译器 -> Java 编译器

  • 使用编译器:Eclipse
  • 不生成警告

问题:它没有改善时间。

解决方案 2:使用共享 Spring Context

Gradle 执行测试的速度非常慢,因为它向套件添加了很多测试

问题:我没有用@SpringBootTest(或使用 Spring)来注释我的测试。

解决方案3:启用增量编译等Eclipse功能

Intellij idea测试编译耗时太长(与Eclipse相比)

Eth*_*ler 6

对于任何想知道的人,我能够通过将测试运行器更改为File | Settings | Build, Execution, Deployment | Build Tools | Gradle.

在此输入图像描述