2

我有一个有趣的问题。我正在使用 Ant,它通过 build.xml 元素执行 JUnit 测试(由 50 个测试组成的测试套件)。问题是我收到 OutOfMemoryError。

我使用 ANT_OPTS 参数扩大了堆空间,但没有帮助。当我在 Eclipse 中执行相同的测试套件时——一切都很好——由于 GC,内存被释放。

我认为这个问题与 Ant 及其 JUnit 任务有关。

也许记录测试是原因(但另一方面,我有 printsummary="false",[也许 outputtoformatters 也应该设置为 false ???])。

我的第二个猜测是 TEST***.xml 文件(在测试结束时生成)保存在内存中并在测试结束时刷新。有没有办法减少该文件中的日志?

各位大侠,请给我一些线索。

4

3 回答 3

1

您需要在 junit 任务中设置 maxmemory 属性。请参阅Ant 文档

于 2012-08-10T22:18:33.427 回答
1

总而言之,我想说问题的根源在于日志记录。日志被发送到流并且没有被刷新。关闭日志后 - 一切都很好。

于 2012-09-11T12:27:32.773 回答
0

默认情况下,fork 模式是关闭的。请尝试打开 fork 模式并将 forkmode 设置为pertest

于 2012-08-11T03:05:43.203 回答