JUnit& Ant:如何在屏幕上显示详细的错误消息?

时间:2012-03-05 17:38:40

标签: java ant junit

我建立了一个Ant项目,其中包括使用JUnit的单元测试。

测试目标如下:

<target name="test">
    <mkdir dir="target/test/reports"/>
    <junit printsummary="yes" haltonfailure="yes">
        <classpath>
            <pathelement location="${test.classes.dir}"/>
            <pathelement location="${test.junit.jar}" />
            <pathelement path="${classes.dir}"/>
            <pathelement path="${java.class.path}"/>
        </classpath>
        <formatter type="plain"/>

        <batchtest fork="yes" todir="${test.reports.dir}">
            <fileset dir="${test.src.dir}">
                <include name="**/*Test*.java"/>
            </fileset>
        </batchtest>
    </junit>
</target>

当我运行此测试时,它只在屏幕上显示测试摘要,如:

Buildfile: F:\test\build.xml

test:
    [junit] Running com.mycompany.myproject.myTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.013 sec
    [junit] Running com.mycompany.myproject.myTest1
    [junit] Tests run: 3, Failures: 1, Errors: 0, Time elapsed: 0.018 sec

BUILD FAILED
F:\test\build.xml:30: Test com.mycompany.myproject.myTest1 failed

Total time: 1 second

无论如何,我可以告诉JUnit或Ant在屏幕上显示详细结果吗?

另外,如果我想在单元测试中写一些东西到屏幕上,我该怎么办呢?我试图在测试中插入System.out.println(),但它不会在屏幕上显示任何内容。

非常感谢。

5 个答案:

答案 0 :(得分:3)

showOutput标志设置为true。

你想在考试过程中通过S.o.p做什么?

答案 1 :(得分:2)

printsummary值更改为withOutAndErr,这将导致JUnit打印System.out和System.err文本

答案 2 :(得分:2)

恕我直言,你正在解决错误的问题。

收集junit结果并坐在“$ {test.reports.dir}”中,让您“看到”。 Ant的任务可以帮助您getting an HTML report

引入一个目标,从收集的数据中生成html(它们是XML文件)

<junitreport todir="./reports">
  <fileset dir="${test.reports.dir}">
    <include name="TEST-*.xml"/>
  </fileset>
  <report format="frames" todir="./report/html"/>
</junitreport>

答案 3 :(得分:0)

另外,如果您想在屏幕上打印某些内容,请使用

<echo message="My message..." />

答案 4 :(得分:0)

<batchtest fork="yes" todir="${junit.report.dir}">
   <formatter type="xml" />
      <fileset dir="${application.build.stage.java.class.dir}">
        <include name="**/*Test.class" />
</fileset>
</batchtest>

您可以在build.xml中使用它来生成报告为html文件。