SBT使用specs2和spray-testkit在我的一些较大的验收风格测试中保持内存不足.我有10个演出或RAM可用,目前我开始SBT(使用SBT附加脚本),MaxPermSize为512m,Xms为1024m,Xmx为2g.
验收测试按特定顺序贯穿客户的整个业务流程,因此将验收测试分成多个较小的测试并不容易.
任何想法如何更好地配置我的环境,或者我应该注意的问题将不胜感激.
为了它的价值,我在Ubuntu下使用Oracle Java,该项目使用Scala 2.10,sbt 0.12.2,使用specs2 1.14喷涂1.1-M7.
在测试之外运行系统时,或者在使用较小的测试时,一切都像发条一样运行.只有在较大的测试中,事情才会变得坚果.
您可以做的一件事是分叉您的测试,您可以直接在build.sbt中设置您的内存设置:
fork in Test := true
javaOptions in Test += "-Xmx2048m" // we need lots of heap space
Run Code Online (Sandbox Code Playgroud)
这意味着测试不依赖于您使用SBT extras脚本运行,并且设置不会影响sbt本身.您还可以设置各种其他选项(请参阅分叉),包括更改工作目录,甚至是要使用的JRE.
我怀疑您遇到了 specs2 不可变样式的指数问题。解决方案只是添加更多内存或将测试分成更小的块。更多信息在这里:
http://www.artima.com/articles/compile_time.html
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |