我想在/ 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" />
我宁愿不再这样做了。
我缺少什么?请指教。
答案 0 :(得分:3)
您可以使用嵌套的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
来电。