我尝试用JUnit测试编写一个蚂蚁,但得到以下结果:
unittest:
[junit] Running com.mytest.utiltest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Test com.mytest.utiltest FAILED
它只显示没有打印细节的错误,我在build.xml中指定了以下参数
也尝试从ant -v or ant -debug
开始,但没有得到任何运气。有人可以帮忙吗?
<junit printsummary="yes" showoutput="true">
ant 1.8.2,sun jdk1.6.0_20,junit 4.8.2
为了缩小问题范围,我创建了一个单独的项目 这是我的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>
下面的是simpletest.java
package com.mytest.unittest;
import junit.framework.TestCase;
public class SimpleTest extends TestCase{
public void testFirst()
{
assertTrue(true);
}
}
C:\ TestPrj&GT;蚂蚁
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&GT; 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
为什么没有生成JUnit结果/详细信息/报告? 那么在我真实的失败案例中,我无法解决我的问题?
答案 0 :(得分:40)
您必须在formatter
任务中使用junit
元素。格式化程序默认会创建一个报告文件,但您可以强制它在屏幕上打印结果。您可以使用两个格式化程序:一个用于输出到屏幕,另一个用于输出到文件。
请注意,junit任务中不再需要属性printsummary="yes"
和showoutput="true"
。格式化器现在正在处理输出。
<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>
阅读ant手册中的junit页面以获取更多信息。
答案 1 :(得分:1)
你可以在这里发布从build.xml调用junit的片段吗?构建失败可能有几个原因。另外,请发布您要测试的测试用例。
编辑:您是否需要静态测试?
public class utilTest extends TestCase {
public void testfun() {
assertTrue(true);
}
}
编辑:尝试使用参数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>