我想在/test目录中执行所有测试,而不使用等注释
@Suite.SuiteClasses( ....)
在过去,我有一个单独的类,它调用许多其他类来测试它们。这种做法已不再可接受。
我有一个/test目录,下面有许多包,每个包都包含几个测试。
在我当前的ANT
脚本中,我有:
<target name="compileTest" depends="compile" description="compile jUnit">
<javac srcdir="${test}" destdir="${bin}" includeantruntime="true" />
</target>
然后是
<target name="test" depends="compileTest">
<junit printsummary="yes" fork="no" haltonfailure="no">
<classpath location="${bin}" />
<formatter type="plain" />
</junit>
</target>
过去,我有
<test name="MyCollectionOfTests" />
我宁愿不再这样做。
我错过了什么?请告知。
您可以使用嵌套的batchtest
。例如:
<junit printsummary="on"
fork="on"
dir="${test.build}"
haltonfailure="false"
failureproperty="tests.failed"
showoutput="true">
<classpath>
<path refid="tests.classpath"/>
</classpath>
<batchtest todir="${test.report}">
<fileset dir="${test.gen}">
<include name="**/Test*.java"/>
</fileset>
<fileset dir="${test.src}">
<include name="**/Test*.java"/>
<exclude name="gen/**/*"/>
</fileset>
</batchtest>
</junit>
在最简单的形式中,您可以简单地添加一个嵌套:
<batchtest todir="report">
<fileset dir="test"/>
</batchtest>
到您的junit
呼叫。