运行具有太多测试用例的套件时内存不足(java堆)

时间:2013-01-03 11:05:31

标签: java eclipse unit-testing junit out-of-memory

我有一个引用多个测试类的套件。总共有15,354个测试用例。当我运行套件时,我在第11000个标记处(或多或少)出现内存不足错误。

我在带有4G RAM的Win 7 64位上运行它。我还在eclipse的运行配置中将我的java堆最大化为1536M。

如果我单独运行测试类,它运行正常。是否有我可以遵循的技术/指南来减少我的记忆足迹?

我之前已经重构了代码,以便在我的测试用例中使用超类,并使用类变量来减少内存消耗,但现在它不再被删除了。

2 个答案:

答案 0 :(得分:0)

据我所知,junit和testng之间存在差异:

  • junit在运行第一个测试用例之前初始化所有测试用例
  • testng正在初始化它实际开始的测试

但我找不到图表,它显示了与junit相比在testng中编写的相同测试的运行时间。

答案 1 :(得分:0)

您有几种调整内存堆的技巧。最简单的选择是使用-Xms。您可以看到reducing java memory