Jika Anda kehabisan ruang heap selama pengujian JUnit yang pasti (atau gagal), mengubah MAVEN_OPTS mungkin tidak membantu Anda. Saya terus mencoba konfigurasi yang berbeda di MAVEN_OPTS tanpa hasil sampai saya menemukan posting ini yang memperbaiki masalah.
Pada dasarnya JUnits bercabang ke lingkungan mereka sendiri dan mengabaikan pengaturan di MAVEN_OPTS. Anda perlu mengkonfigurasi jitu di pom Anda untuk menambahkan lebih banyak memori untuk JUnits.
Semoga ini bisa menghemat waktu orang lain!
Sunting: Menyalin solusi dari blog Keith Chapman untuk berjaga-jaga jika suatu saat tautan rusak:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>pertest</forkMode>
<argLine>-Xms256m -Xmx512m</argLine>
<testFailureIgnore>false</testFailureIgnore>
<skip>false</skip>
<includes>
<include>**/*IntegrationTestSuite.java</include>
</includes>
</configuration>
</plugin>
Pembaruan (5/31/2017): Terima kasih kepada @johnstosh karena telah menunjukkan hal ini - pasti telah sedikit berkembang sejak saya meletakkan jawaban ini di luar sana. Berikut ini tautan ke dokumentasi mereka dan contoh kode yang diperbarui (baris arg masih merupakan bagian penting untuk pertanyaan ini):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<forkCount>3</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
<systemPropertyVariables>
<databaseSchema>MY_TEST_SCHEMA_${surefire.forkNumber}</databaseSchema>
</systemPropertyVariables>
<workingDirectory>FORK_DIRECTORY_${surefire.forkNumber}</workingDirectory>
</configuration>
</plugin>