我正在编写build.xml。但是,我的junit任务似乎出了问题。当我运行我的junit任务。我可以建立成功,但junit报告只显示运行1测试有错误。但我有超过10个测试。所以我想知道我的junit任务是否有运行。这是我的代码。
<property name="src.dir" value="src"/>
<property name="bin.dir" value="bin"/>
<property name="dest.dir" value="dest"/>
<property name="test.dir" value="test/>
<property name="lib.dir" value="lib"/>
<path id="classpath">
<pathelement location="${lib.dir}/junit-4.11.jar"/>
<pathelement location="${lib.dir}/ant-junit4.jar"/>
</path>
<target name="test" depends="compile">
<junit printsummary="yes" haltonfailure="no">
<classpath>
<pathelement location="${bin.dir}"/>
<path refid="classpath"/>
</classpath>
<formatter type="plain" usefile="false"/>
<batchtest fork="yes">
<fileset dir="${test.dir}" includes="*Test*.java"/>
</batchtest>
</junit>
</target>
我无法弄清楚出了什么问题,所以有人可以帮助我吗?
答案 0 :(得分:1)
发生了什么事?你收到任何错误信息吗?
您通常需要执行以下操作:
*.class
文件应放在target/classes
或build/classes
等目录中。使用destdir
任务的<javac>
参数执行此操作。destdir
。target/test-classes
或build/test-classes
。编译完JUnit测试后,您可以运行它们。您可以像使用<junit>
任务一样使用includeantruntime
任务。
true
参数设置为fork
true
设置为target/test-classes
。build/test-classes
我使用Maven标准进行目录布局。这意味着我的Java源代码在src/main/java
下,而我的JUnit Java文件在src/test/java
下。所需的任何XML或属性或其他无源文件都存储在src/main/resources
中。常规源编译为target/classes
,而Junit源编译为target/test-classes
。
这使您可以轻松地单独编译代码和测试代码,而无需担心目录编译中的**/test/**
,**/Test/**
,**/JUnit/**
异常,因为所有内容都是独立的。
希望这有帮助。