Java 为什么Junit测试只支持fork的不完全重写?
我注意到JUnitBatchTest允许重写Junit的forkmode参数。那很好 但是,在进一步检查时——batchtest似乎不支持“forkmode”标志 这似乎很奇怪。这意味着被重写的选项与junit fork选项的功能不同 这是故意的吗?如果是,为什么 根据,您不能覆盖batchtest中的forkmode参数 通常,您会像这样使用forkmode选项:Java 为什么Junit测试只支持fork的不完全重写?,java,ant,junit,fork,Java,Ant,Junit,Fork,我注意到JUnitBatchTest允许重写Junit的forkmode参数。那很好 但是,在进一步检查时——batchtest似乎不支持“forkmode”标志 这似乎很奇怪。这意味着被重写的选项与junit fork选项的功能不同 这是故意的吗?如果是,为什么 根据,您不能覆盖batchtest中的forkmode参数 通常,您会像这样使用forkmode选项: <junit printsummary="yes" fork="yes" forkmode="perBatc
<junit printsummary="yes"
fork="yes" forkmode="perBatch"
haltonfailure="${halt.on.test.failure}"
failureproperty="test.failed">
<classpath refid="test.classpath"/>
<syspropertyset refid="junit.properties"/>
<jvmarg value="${test.locale}"/>
<jvmarg value="-Xmx256M"/>
<formatter type="plain"/>
<batchtest todir="${reports.test}">
<fileset dir="${src.test}">
<include name="**/Test*.java"/>
<exclude name="**/AllTests.java"/>
</fileset>
</batchtest>
</junit>
其中forkmode可以是“一次”、“perTest”或“每批”
“perBatch”选项用于为每个嵌套的
创建一个VM。如果在
中重写
的“fork”,您将在单个VM中运行测试
在
元素中添加“forkmode”选项没有意义。您可以在junit元素中控制VM“分叉”模式。您是在谈论junit ant任务吗?这个问题很不清楚。我不同意:每批测试一次(与每批测试一次相同),另一批测试perTest是有意义的。这将允许分批运行大多数测试,每个批运行一个JVM,一个接一个地运行“有问题的”测试,所有测试都在同一个junit任务中运行。甚至更好的是,forkMode=“per100”或类似的工具也很好。偶尔通过新的JVM清理一次,但不是针对每个测试。