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?
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.
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>
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