基本上,如果测试需要超过2分钟的时间流产该特定测试并与其他测试一起继续,我有这个
<junit printsummary="yes" haltonfailure="no" haltonerror="no">
<classpath>
<pathelement path="${build.test}"/>
<path refid="project.class.path" />
</classpath>
<formatter type="plain" usefile="no"/>
<batchtest fork="yes" haltonfailure="no" haltonerror="no" failureproperty="test.failed" todir="../src/result">
<fileset dir="${build.test}">
<include name="**/app/**/*Test.*"/>
<exclude name="**/app/**/*Helper*"/>
</fileset>
</batchtest>
</junit>
来自junit ant doc,您有 timeout
属性:
超时 - 如果在给定时间未完成的单个测试,请取消 (以毫秒为单位)。如果禁用叉子,忽略了。运行时 同一Java VM中的多个测试(请参阅叉式),超时应用 到所有测试一起使用而不是进行单个测试的时间。
<junit fork="yes" timeout="60000" >
如果默认情况下,forkmode
设置为perTest
,则为每个单独测试的超时值,但是如果将forkmode
指定到once
,则单个JVM将运行所有测试,并且该值适用于所有测试。