Spring Boot Gradle测试命令在Gradle 8中因内存问题而失败

xxslljrj  于 12个月前  发布在  Spring
关注(0)|答案(1)|浏览(199)

在Java11中的JUnit5单元测试用例,当我运行gradle测试来测试整个Junit测试用例时,我得到了OutOfMemoryError异常。单个测试类执行良好,没有任何问题。它看起来像Java中的堆内存问题。

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

test {
    useJUnitPlatform()
}

字符串

y3bcpkx1

y3bcpkx11#

基本上,Gradle运行所有的测试类Java。Java 11默认堆内存大小为256 MB。这不足以运行所有的测试类Java。这会导致“Java内存不足“错误。我们可以通过添加下面的代码在测试运行中增加堆内存来解决这个问题。如果测试用例更多,我们需要增加堆大小比我给的更多。
我们升级到Java 17就不会遇到这个问题了,因为Java 17会占用1/4的物理内存作为堆内存
dependencies.gradle

testImplementation 'org.springframework.boot:spring-boot-starter-test:2.7.14'
    test {
          minHeapSize = "256m" // initial heap size
          maxHeapSize = "1024m" // maximum heap size
          useJUnitPlatform()
    }

字符串

相关问题