Как я могу заставить задачу Ant JUnit запускать все тесты, а затем останавливать остальную часть сборки, если какой-либо тест сбой

Я запускаю JUnit через Ant, используя цель вроде этого:

<target name="junit" depends="compile">
    <mkdir dir="${report.dir}"/>
    <junit printsummary="yes" haltonfailure="yes" showoutput="yes" >
        <classpath>
            <path refid="classpath"/>
            <path location="${classes.dir}"/>
        </classpath>
        <formatter type="brief" usefile="false"/>
        <formatter type="xml"/>

        <batchtest fork="yes" todir="${report.dir}">
            <fileset dir="${src.dir}" includes="**/*Tests.java" />
        </batchtest>
    </junit>
</target>

У меня есть такой класс:

public class UserTests extends TestCase {

    public void testWillAlwaysFail() {
        fail("An error message");
    }
    public void testWillAlwaysFail2() {
        fail("An error message2");
    }
}

haltonfailure =" yes " кажется вызывать остановку сборки, как только какой-либо тест не прошел, записывая в журнал только первый неудачный тест. Если для него установлено значение «off», вся сборка будет успешной (даже если на выходе записываются сообщения об ошибке теста).

Что я хочу, чтобы запускались все тесты (даже если один из них не прошел), а затем остановка сборки, если какие-либо тесты не прошли.

Можно ли это сделать?

20
задан Lawrence Johnston 27 October 2010 в 23:44
поделиться