ant junit task does not report detail
Solution 1
You have to use a formatter
element inside the junit
task. The formatter will create a report file by default, but you can force it to print the results on screen. You can use two formatters: one for output to screen, another for output to file.
Note that you no longer need the attributes printsummary="yes"
and showoutput="true"
in the junit task. The formatter is taking care of output now.
<project name = "TestPrj" default="unittest" basedir = ".">
<target name="unittest" >
<junit>
<classpath>
<pathelement location="./junit-4.8.2.jar"/>
<pathelement location="./ant-junit4.jar"/>
</classpath>
<formatter type="plain" usefile="false" /> <!-- to screen -->
<formatter type="plain" /> <!-- to file -->
<test name = "com.mytest.unittest.SimpleTest" todir="."/>
</junit>
</target>
</project>
Read the junit page in the ant manual for more information.
Solution 2
Could you post the snippet which calls junit from build.xml here? There can be several reasons why the build fails. Also, please post the testcase which you are trying to test.
EDIT: Do you need a static for a test?
public class utilTest extends TestCase {
public void testfun() {
assertTrue(true);
}
}
EDIT: Try using the argument outfile
<target name="unittest">
<junit printsummary="yes" showoutput="true">
<classpath>
<pathelement location="./junit-4.8.2.jar"/>
<pathelement location="./ant-junit4.jar"/>
</classpath>
<formatter type="plain" />
<test name="com.mytest.unittest.SimpleTest" outfile="./testresult" />
</junit>
<fail message="test failed" if="test.failure" />
</target>
hetaoblog
http://www.chinatech.us, lots of chinese tech, stock and company news http://www.hetaoblog.com, this is my chinese tech blog
Updated on July 24, 2022Comments
-
hetaoblog almost 2 years
I tried to write an ant with JUnit test, but get below result:
unittest: [junit] Running com.mytest.utiltest [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Test com.mytest.utiltest FAILED
it just shows error without print details, I specify below parameter in build.xml also tried to start with
ant -v or ant -debug
, but did not get any luck. Can anyone help?<junit printsummary="yes" showoutput="true">
ant 1.8.2, sun jdk1.6.0_20, junit 4.8.2
to narrow down the problem, I created a seperate project this is my build.xml
<project name = "TestPrj" default="unittest" basedir = "."> <target name="unittest" > <junit printsummary="yes" showoutput="true" > <classpath> <pathelement location="./junit-4.8.2.jar"/> <pathelement location="./ant-junit4.jar"/> </classpath> <test name = "com.mytest.unittest.SimpleTest" todir="."/> </junit> </target> </project>
below is simpletest.java
package com.mytest.unittest; import junit.framework.TestCase; public class SimpleTest extends TestCase{ public void testFirst() { assertTrue(true); } }
C:\TestPrj>ant
Buildfile: C:\TestPrj\build.xml unittest: [junit] Running com.mytest.unittest.SimpleTest [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0 sec BUILD SUCCESSFUL Total time: 0 seconds
C:\TestPrj>dir
Directory of C:\TestPrj 04/02/2011 02:00 PM <DIR> . 04/02/2011 02:00 PM <DIR> .. 04/02/2011 01:56 PM 280 .classpath 04/02/2011 01:54 PM 519 .project 04/02/2011 02:00 PM 7,120 ant-junit4.jar 04/02/2011 02:00 PM 403 build.xml 04/02/2011 01:55 PM <DIR> com 11/17/2010 05:36 PM 237,344 junit-4.8.2.jar 5 File(s) 245,666 bytes 3 Dir(s) 28,451,311,616 bytes free
Why there's not a JUnit results/detail/report generated? So that in my real case of failure, i can not troubleshoot my questions?