作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一些需要大量堆空间才能运行的 Junit 单元测试 - 即 1G。 (他们为 webstart 应用程序测试内存密集型功能,该应用程序只能在足够的堆空间下运行,并且将在 Win 7 64 位机器上内部运行 - 所以重新设计测试不是一个实际的建议。)
我正在 Intellij IDEA 中开发,所以我知道我可以为测试类设置 JVM 参数(例如 -Xmx1024M)。但是,这仅适用于运行整个测试类 - 如果我想运行单个测试,我必须为该测试方法重新创建运行配置。
另外,这些是特定于 IDE 和盒子的 - 所以如果我切换盒子(我在多台机器上开发)或我的一位同事尝试运行测试,这些设置不会被转移。 (此外,我的同事也使用 Eclipse 和 NetBeans 等其他 IDE。)FWIW,我们使用 mercurial 进行源代码控制。
对于构建周期,我们使用的是 Maven,所以我知道如何为此指定 JVM 参数。
所以:- 我正在寻找一种方法来指定适用于整个测试类和各个测试方法的 JVM 参数;和- 我想在任何机器上的 IDE 之间共享这些规范(从存储库中获取代码)。
最佳答案
在 Maven 中你可以配置 surefire 插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<argLine>-Xmx256M</argLine>
</configuration>
</plugin>
如果您使用 Maven 进行构建,则此配置将在源代码树中进行并在执行测试时应用。见 Maven Surefire Plugin文档。
关于java - 如何为 Junit 单元测试设置 JVM 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7579776/
我是一名优秀的程序员,十分优秀!