gradle 测试命令失败 Gradle 8 中的内存不足问题

问题描述 投票:0回答:1

Java11 中的 JUnit5 单元测试用例,当我们运行 gradle 测试来测试整个 Junit 测试用例时,我们收到 OutOfMemoryError 异常。个别测试用例运行良好。

testImplementation 'org.springframework.boot:spring-boot-starter-test:2.7.14'

test {
    useJUnitPlatform()
}
spring-boot gradle junit5 java-11
1个回答
0
投票

基本上,Gradle 并行运行所有测试类。 Java11默认堆内存大小为256MB。这不足以并行运行所有测试类。这会导致“Java 内存不足”错误。我们可以通过添加以下代码来增加测试运行中的堆内存来解决此问题。如果测试用例更多,我们需要增加堆大小比我给出的更多。

升级到JAVA17后就不会再遇到这个问题了。因为,java17会将物理内存的1/4作为堆内存

依赖项.gradle

testImplementation 'org.springframework.boot:spring-boot-starter-test:2.7.14'
    test {
          minHeapSize = "256m" // initial heap size
          maxHeapSize = "1024m" // maximum heap size
          useJUnitPlatform()
    }
© www.soinside.com 2019 - 2024. All rights reserved.