JUnit & Ant: Как показать подробное сообщение об ошибке на экране? - PullRequest
5 голосов
/ 05 марта 2012

Я запустил проект 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 ]

3 голосов
/ 05 марта 2012

Установите для флага showOutput значение true.

Что вы пытаетесь выполнить с помощью SOP в середине теста?

2 голосов
/ 06 марта 2012

ИМХО, вы решаете не ту проблему.

Результаты джунита собираются и располагаются "$ {test.reports.dir}", чтобы вы их "увидели". У Ant есть задача, которая может помочь вам в получении отчета в формате HTML

Введите цель для генерации html из собранных данных (это файлы XML)

<junitreport todir="./reports">
  <fileset dir="${test.reports.dir}">
    <include name="TEST-*.xml"/>
  </fileset>
  <report format="frames" todir="./report/html"/>
</junitreport>
2 голосов
/ 05 марта 2012

изменить printsummary значение на withOutAndErr, что заставит JUnit напечатать текст System.out и System.err

0 голосов
/ 10 декабря 2013
<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-файлов.

0 голосов
/ 09 декабря 2013

Кроме того, если вы хотите напечатать что-то на экране, просто используйте

<echo message="My message..." />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...