I'm using Junit 4.4 and Ant 1.7. If a test case fails with an error (for example because a method threw an unexpected exception) I don't get any details about what the error was.
My build.xml looks like this:
<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>
When I run "ant test" it says (for example) 2 Test runs, 0 failures, 1 error. It doesn't say "There is no such test as NoSuchTest" even though this is completely reasonable and would let me figure out the cause of the error.
Thanks!
-Dan
Figured it out :)
I needed to add a "formatter" inside the junit block.
<formatter type="plain" usefile="false" />
What a PITA.
-Dan
If you're going to have a lot of tests there are two change you might want to consider:
And it is pretty easy to do with the junitreport task:
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With