目前,我使用 IDE 进行所有构建和单元测试。现在我需要使用ant。我发现了一些简单的 ant build.xml 脚本,但它们不支持单独的 Junit test/ 目录。我的项目结构如下:
src/
com/foo/
com/bar/
test/ -- Mirror of src/, with all *Test.java files.
com/foo/
com/bar/
lib/ -- All Java libs, including junit 4.
如何构建一个小 ant 脚本来构建我的 src/ 和 test/ Java 类,然后运行我的所有 JUnit 测试?
我定义<path>
每个目标的元素。
这是我的构建文件的摘录,您必须调整一些路径和属性,但您可以明白:
<path id="src.path">
<pathelement path="src/"/>
</path>
<path id="compile.path">
<path refid="src.path"/>
<fileset dir="lib/">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="unit.test.path">
<path refid="compile.path"/>
<pathelement path="test/"/>
</path>
<target name="compile">
<javac destdir="bin">
<src path="src"/>
<classpath refid="compile.path"/>
</javac>
</target>
<target name="compileUnitTests" depends="compile">
<javac srcdir="test/" destdir="bin">
<classpath refid="unit.test.path"/>
</javac>
</target>
<target name="runUnitTests" depends="compileUnitTests">
<junit printsummary="yes" haltonfailure="no">
<jvmarg value="-Dfile.encoding=UTF-8"/>
<classpath refid="unit.test.path"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${this.report}">
<fileset dir="test">
<include name="${test.pattern}"/>
<exclude name="**/AllTests.class"/>
<exclude name="**/*$*.class"/>
</fileset>
</batchtest>
</junit>
</target>
如果您需要根据自己的需求进行改进,正如cotton.m 所说,请阅读 ant 任务文档。将 ant 与您的特定目录结构一起使用确实需要对该工具有一定的了解,不要指望您会轻松找到适合您的确切要求的现成示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)