假设您有一个test
目录,其中包含每个包含jUnit测试的包。
在此设置中,使用ANT,您如何"运行所有测试?"
假设我的jUnit有
<target name="test" depends="compileTest">
<junit fork="yes" printsummary="yes" haltonfailure="no">
<classpath location="${bin}" />
<formatter type="plain" />
<test name="_com.??.project.alltests.MyTests" />
</junit>
</target>
Where, MyTests有
@RunWith(Suite.class)
@Suite.SuiteClasses( { _ThisTest.class, _ThatTest.class })
public class OCTTests {
}
和_ThisTest
本身包含一些测试…
对于ANT脚本来说,是否可以简单地说"运行在此目录中找到的所有测试"来避免这种情况?
看一下junit任务的嵌套batchtest元素。您将在junit任务文档页面上找到以下示例:
<junit printsummary="yes" haltonfailure="yes">
<classpath>
<pathelement location="${build.tests}"/>
<pathelement path="${java.class.path}"/>
</classpath>
<formatter type="plain"/>
<test name="my.test.TestCase" haltonfailure="no" outfile="result">
<formatter type="xml"/>
</test>
<batchtest fork="yes" todir="${reports.tests}">
<fileset dir="${src.tests}">
<include name="**/*Test*.java"/>
<exclude name="**/AllTests.java"/>
</fileset>
</batchtest>
</junit>