我的单元测试有问题,而且我不知道为什么。当我在eclipse中正常运行我的单元测试时,它运行得很好。但是当我尝试使用ant构建我的项目时,有一个单元测试失败了。
我从中获得的唯一信息是测试失败,我不知道为什么或在什么线上。
我有办法让蚂蚁告诉我出了什么问题(以及哪一行)?
这是我的单元测试目标:
<target name="unit.test"
depends="jar"
description="'jar', 'compile', and run unit tests">
<junit printsummary="on" failureproperty="unit.test.failed" timeout="300000">
<jvmarg value="-Dtest.resource.dir=${resource.dir}/test"/>
<jvmarg value="-Dresource.dir=${resource.dir}"/>
<jvmarg value="-Djava.awt.headless=true"/>
<classpath >
<pathelement location="${debug.class.dir}"/>
<pathelement location="${resource.test.dir}"/>
<pathelement location="${resource.dir}"/>
<pathelement location="${library.release.dir}/${junit.jar}"/>
<filelist refid="test.imports"/>
<filelist refid="imports"/>
</classpath>
<formatter type="xml"/>
<batchtest fork="yes" todir="${release.test.dir}">
<fileset dir="${source.dir}">
<include name="test/unit/**/*Test.java" unless="test.unit"/>
<include name="test/unit/**/${test.unit}Test.java" if="test.unit"/>
<exclude name="test/unit/**/Abstract*.java"/>
</fileset>
</batchtest>
</junit>
<fail message="one or more unit test failed" if="unit.test.failed"/>
</target>
这就是我的控制台中的样子:
unit.test:
[junit] Running test.unit.com.bazinga.sensormonitor.IBoxSensorDeviceTest [junit] Tests run: 9, Failures: 0, Errors: 0, Time elapsed: 4.049 sec [junit] Running test.unit.com.bazinga.sensormonitor.M2MSensorDeviceTest [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 1.586 sec [junit] Running test.unit.com.bazinga.sensormonitor.RMoniSensorDeviceTest [junit] Tests run: 21, Failures: 0, Errors: 1, Time elapsed: 5.385 sec [junit] Test test.unit.com.bazinga.sensormonitor.RMoniSensorDeviceTest FAILED [junit] Running test.unit.com.bazinga.sensormonitor.SensiteSensorDeviceTest [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 1.303 sec [junit] Running test.unit.com.bazinga.sensormonitor.TBoxSensorDeviceTest [junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 2.055 sec
建立失败
/home/user/projects/bazinga/admin/build/ant-library.xml:150:一个或多个单元测试失败
感谢您的帮助。
答案 0 :(得分:1)
也许showoutput=true
正是您要搜索的内容?除了记录文件之外,这还会将测试输出发送到控制台。
答案 1 :(得分:1)
通常情况下,人们不会在控制台上查看故障详情。标准junit任务收集结果文件中的所有信息(在您的情况下在${release.test.dir}
下)。 Junit report task提供了测试结果的html视图。
大部分CI都有