我有一些Junit单元测试,需要大量的堆空间才能运行-即1G。 (他们测试了Webstart应用程序的内存密集型功能,该功能仅在具有足够的堆空间的情况下运行,并且将在Win 7 64位计算机上内部运行-因此,重新设计测试是不切实际的建议。)
我正在Intellij IDEA中进行开发,因此我知道可以为测试类设置JVM参数(例如-Xmx1024M)。但是,这仅用于运行整个测试类-如果我想运行单个测试,则必须为该测试方法重新创建运行配置。
而且,这些设置是特定于IDE和特定于盒的-因此,如果我切换盒(在多台计算机上开发)或我的一位同事尝试运行测试,则不会转移这些设置。 (此外,我的同事使用了其他IDE(例如Eclipse和NetBeans)。)FWIW,我们正在使用Mercurial进行源代码控制。
在构建周期中,我们使用的是Maven,所以我知道如何为此指定JVM参数。
所以:
-我正在寻找一种指定将适用于整个测试类和各个测试方法的JVM参数的方法;和
-我想在任何计算机上的IDE之间共享这些规范(已从存储库中获取了代码)。
最佳答案
在IntelliJ中,您可以为每个运行配置指定默认设置。在“运行/调试配置”对话框(用于配置每个测试的堆)中,单击“默认值”和“ JUnit”。这些设置将自动应用于每个新的JUnit测试配置。我猜Eclipse也有类似的设置。
但是,没有简单的选项可以在环境之间转移此类设置(至少在IntelliJ中)。您可以将IntelliJ项目文件提交到存储库中:它可能有效,但我不建议这样做。
You know how to set these for maven-surefire-plugin. Good. Thi