如何使用JUnit和Ant运行测试?在相同的JVM或不同的JVM中?

时间:2014-11-11 20:25:57

标签: java ant junit jvm

我正面临着JUnit和Ant的一个小问题。我不知道应该如何进行测试。我应该使用forked="yes"选项为每个测试创建一个新VM,还是应该使用相同的VM?

哪种方式更好,或者我怎么知道何时使用相同的JVM?

由于

1 个答案:

答案 0 :(得分:2)

要在Ant中运行JUnit测试,请使用junit任务。可以选择在单独的JVM(fork属性)中运行测试。

通常,最好在单独的VM中运行测试,以将它们与Ant JVM及其类路径隔离开来。这也允许为测试配置JVM的属性,例如最大内存量(只有在启用fork时才应用任务的许多属性)。

但是,由于创建新JVM的开销,这使得测试需要更长的时间。这还取决于forkmode属性。如果设置为perTest,则每个测试都将在其自己的VM中运行。

<强> forkmode

  

如果要分叉某些测试,请控制创建的Java虚拟机数量。可能的值是“perTest”(默认值),“perBatch”和“once”。 “once”只为所有测试创建一个Java VM,而“perTest”为每个TestCase类创建一个新VM。 “perBatch”为每个嵌套创建一个VM,并为所有嵌套s创建一个VM。