当我用jUnit测试我的程序时,我有错误
java.lang.OutOfMemoryError
。如何管理内存大小以进行测试?
答案 0 :(得分:1)
一个可能的原因是在测试类的实例字段中保留大量数据。
您必须了解JUnit将为类中的每个测试方法创建测试类的新对象(以避免测试相互影响),并将保留对所有这些对象的引用。
因此,测试类中的实例字段不应引用大量数据,或者,如果确实有必要,则必须在拆解方法中将它们设置为null
。
更新:上述问题显然只出现在旧版本的JUnit中。
答案 1 :(得分:1)
如果您使用的是Eclipse IDE;单击顶部菜单中的运行,然后选择运行配置。将出现一个对话框。选择您正在运行的测试,然后单击参数选项卡。键入:-Xmx1024m并单击“应用”。再次运行它,看它是否抛出相同的异常。如果是这样,测试中的方法可能会导致问题。当你在一个循环中进行递归调用时会发生这种情况。希望有所帮助。