我的单元测试有问题,我不知道为什么。当我在 eclipse 中正常运行我的单元测试时,它运行得非常好。但是当我尝试使用 ant 构建我的项目时,有一个单元测试失败了。
我从中得到的唯一信息是测试失败,我不知道为什么或在哪一行。
有没有办法让 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
BUILD FAILED
/home/user/projects/bazinga/admin/build/ant-library.xml:150: one or more unit test failed
感谢您的帮助。
最佳答案
通常人们不会查看控制台以获取失败详细信息。标准的 junit 任务收集结果文件中的所有信息(在您的情况下位于 ${release.test.dir}
下)。 Junit report task提供测试结果的 html View 。
大多数 CI 都有
关于java - 让 Ant 多说一些失败的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18074667/