目前我使用IDE进行所有构建和单元测试。现在我需要使用蚂蚁。我找到了一些简单的ant build.xml脚本,但它们不支持单独的Junit测试/目录。我的项目结构如下:
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.
如何构建一个构建我的src /和test / Java类的小蚂蚁脚本然后运行我所有的JUnit测试?
答案 0 :(得分:6)
我为每个目标定义<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与您的特定目录结构一起使用确实需要一些工具知识,不要指望您能够轻松找到符合您确切要求的现成示例。
答案 1 :(得分:0)
我不明白这个问题。你在问如何设置默认目标吗?选择执行时要运行的目标,还是不知道如何编写build.xml文件?真的不是那么难。请参阅http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html和http://ant.apache.org/manual/