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

xxslljrj  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(264)

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

  1. testImplementation 'org.springframework.boot:spring-boot-starter-test:2.7.14'
  2. test {
  3. useJUnitPlatform()
  4. }

字符串

y3bcpkx1

y3bcpkx11#

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

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

字符串

相关问题