java - 让 Ant 多说一些失败的 JUnit 测试

标签 java ant junit

我的单元测试有问题,我不知道为什么。当我在 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/

相关文章:

java - 接受void的通用参数类型

Java : ArrayList<HashMap<Integer, 整数>>

deployment - JBOss 无法找到类 : Not installing optional component "X" due to exception: java. lang.ClassNotFoundException

groovy - 无法在NetBeans 6.5中运行Groovy单元测试

java - Java 应用程序如何部署在 "real world"中?

java - Jersey /JAX-RS : Return Content-Length in response header instead of chunked transfer encoding

java - 如何在 Ant 编译期间强制执行 Java 1.6 标准?

android - 由于主项目的复杂库项目依赖性,Jenkins-Server 上的自动化 Android UI 测试失败

java - ArrayStoreException : sun. reflect.annotation.TypeNotPresentExceptionProxy 安卓 PowerMock JUnit

java - 如何在不使用 PowerMock 的情况下测试私有(private)方法(用例 : object creation)?