我正在使用Junit 4.4和Ant 1.7。如果测试用例因错误而失败(例如因为某个方法引发了意外异常),我不会得到有关错误的详细信息。
我的build.xml如下所示:
<target name="test" depends="compile">
<junit printsummary="withOutAndErr" filtertrace="no" fork="yes" haltonfailure="yes" showoutput="yes">
<classpath refid="project.run.path"/>
<test name="a.b.c.test.TestThingee1"/>
<test name="a.b.c.test.NoSuchTest"/>
</junit>
</target>
当我运行“ant test”时,它说(例如)2次测试运行,0次失败,1次错误。它没有说“没有NoSuchTest这样的测试”,即使这是完全合理的,也可以让我弄清楚错误的原因。
谢谢!
-Dan
答案 0 :(得分:32)
弄明白:)
我需要在junit块中添加“formatter”。
<formatter type="plain" usefile="false" />
PITA是什么。
-Dan
答案 1 :(得分:6)
如果您要进行大量测试,可能需要考虑两项更改:
使用junitreport任务非常容易:
<target name="test">
<mkdir dir="target/test-results"/>
<junit fork="true" forkmode="perBatch" haltonfailure="false"
printsummary="true" dir="target" failureproperty="test.failed">
<classpath>
<path refid="class.path"/>
<pathelement location="target/classes"/>
<pathelement location="target/test-classes"/>
</classpath>
<formatter type="brief" usefile="false" />
<formatter type="xml" />
<batchtest todir="target/test-results">
<fileset dir="target/test-classes" includes="**/*Test.class"/>
</batchtest>
</junit>
<mkdir dir="target/test-report"/>
<junitreport todir="target/test-report">
<fileset dir="target/test-results">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="target/test-report"/>
</junitreport>
<fail if="test.failed"/>
</target>