我有一个大约60K行代码的android项目,我们使用gradle构建应用程序并使用robolectric运行单元测试。我们最近应用了jacoco插件来获取单元测试的覆盖率数据,但是,在大约140次测试之后,其余测试开始因OutOfMemoryError异常而失败。
我尝试使用gradle.properties来改变JVM的堆大小,但它似乎没有帮助。
任何帮助将不胜感激。非常感谢。
答案 0 :(得分:0)
您是否尝试过以下操作:
在用户的〜/ .bash_profile文件中设置以下内容
导出GRADLE_OPTS =" -XX:MaxPermSize = 512m"
在GRADLE_HOME / bin / gradle可执行文件(shell脚本)文件中,将以下行更改为:
DEFAULT_JVM_OPTS="$JAVA_OPTS $GRADLE_OPTS"
以上假设您正在设置一些JAVA xxx内存变量
包括平行叉等。
test {
maxParallelForks = 5
forkEvery = 50
ignoreFailures = true
// Send HTML reports and xml results files to a custom user defined folder instead of default
testReportDir = file("$buildDir/reports/tests/UnitTests")
testResultsDir = file("$buildDir/test-results/UnitTests")
testLogging.showStandardStreams = true
onOutput { descriptor, event ->
logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
}
}
看,这有用吗?