我正在使用mockito 1.8.3,jacoco 0.72和maven 3.0.5 surefire插件(2.12.4)來執行單元測試並生成覆蓋報告,它工作正常。Mockito,jacoco和surefire導致內存不足
隨着越來越多的測試被添加,它開始不工作。在測試執行期間,我不斷遇到內存不足的錯誤,並且找不到找出錯誤的方法。
我使用mockito作爲嘲笑工具,大約有1800多個測試用例。如果我在測試階段之前未使用「org.jacoco:jacoco-maven-plugin:prepare-agent」在maven測試期間運行jacoco,但工作正常,但只要我添加jacoco代理,就會發現與PermGen已滿的OOO問題。
我已經通過修改MAVEN_OPTS(它不應該工作,因爲surefire會分叉一個新的進程)和surefire argline參數在POM中添加到2GB的PermGen,但它沒有什麼幫助。
我試圖通過向surefire插件添加參數發生OOO時獲得核心轉儲,但從未在任何文件夾中看到轉儲文件。我懷疑我的JVM設置對於surefire插件不起作用,但不確定哪裏出了問題。任何人都可以幫我一個忙嗎?謝謝。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<inherited>true</inherited>
<configuration>
<properties>
<property>
<name>argLine</name> <value>-server -ea -XX:-UseSplitVerifier -XX:MaxPermSize=2g -Xmx3g -XX:+HeapDumpOnOutOfMemoryError </value>
</property>
<property>
<name>forkMode</name>
<value>once</value>
</property>
<property>
<name>reportFormat</name>
<value>plain</value>
</property>
<property>
<name>skipTests</name>
<value>${maven.test.skip}</value>
</property>
</properties>
</configuration>
</plugin>
謝謝,它正在工作。不知道爲什麼我使用的「財產」格式不起作用。 – Skywolf 2015-03-03 06:27:48