Я запускаю 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" приводит к успешному завершению всей сборки (даже если сообщения об ошибках теста записываются на выход).
Что я хочу, чтобы все тесты выполнялись (даже если один из них был неудачным), а затем сборка должна быть остановлена, если какие-либо тесты не удались.
Можно ли это сделать?