Тест JUnit проходит в Eclipse Workbench, но не проходит в сборке Ant - PullRequest
1 голос
/ 17 января 2012

У меня есть модульный тест, который содержит 6 тестовых случаев (@Test -аннотированные методы), которые все отлично работают, когда я запускаю Java-файл как JUnit Test (из рабочей среды Eclipse).Но когда я запускаю цель Ant run-tests из сценария сборки, они завершаются неудачно со следующим выводом консоли:

[junit] Running com.me.myproject.WidgetTest
[junit] Tests run: 6, Failures: 6, Errors: 0, Time elapsed: 1.737 sec
[junit] Test com.me.myproject.WidgetTest FAILED

Вот раздел JUnit цели run-tests:

<junit fork="yes" forkmode="once" dir="${basedir}" printsummary="yes" haltonerror="no" haltonfailure="no">
    <classpath>
        <path refid="test.class.path"/>
        <pathelement location="${mainBuildDir}"/>
        <pathelement location="${testBuildDir}"/>
    </classpath>

    <formatter type="xml"/>

    <batchtest todir="${genUnitTestReportsDir}">
        <fileset dir="${testJavaSrcDir}">
        <include name="**/*Test*.java"/>
        </fileset>
    </batchtest>
</junit>

Кто-нибудь когда-нибудь слышал об этом?Есть ли способ получить более (подробный) вывод из задачи Ant JUnit?Есть хороший способ отладить, что здесь происходит?Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 17 января 2012

У меня были похожие проблемы с классами, которые пишут в базы данных при использовании Hibernate / Hypersonic SQL для моих тестов. Срок действия гиперзвукового соединения при выполнении тестов внутри затмения намного короче, чем у муравья. В результате базы данных удаляются в конце каждого теста в Eclipse, но переходят от теста к тесту внутри муравья.

Если вы записываете данные в свои базы данных, вам нужно удалить их в разложенном виде, чтобы следующий тест не забрал ваши данные.

0 голосов
/ 17 января 2012

Я не могу сказать, не видя отслеживания стека исключительной ситуации.Это, вероятно, проблема с classpath.Просмотрите документацию Java ANT о JUnit, она должна помочь вам включить трассировку отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...