#unit-testing #ant #java-me #junit
#модульное тестирование #ant #java-me #junit
Вопрос:
Когда я выключаю haltonfailure
или haltonerror
в моих тестах jmunit, подобных этому:
<jmunit haltonerror="false" haltonfailure="false" failureproperty="testfailure">
<formatter type="xml" />
<classpath>
<path path="${jar_location}" />
<path path="${build}" />
</classpath>
<!-- Add -->
<test name="com.example.tests.Test1" todir="${reports}" />
<test name="com.example.tests.Test2" todir="${reports}" />
<test name="com.example.tests.Etc" todir="${reports}" />
</jmunit >
Сборка выполняется успешно, даже если некоторые тесты завершились неудачей. Если я включу остановки, то, конечно, это остановится сразу после первого сбоя. Я хочу, чтобы все тесты выполнялись независимо от того, сколько из них завершилось неудачей, но если КАКОЙ-либо из них завершился неудачей, сборка не будет успешной. Причина, по которой я хочу этого, заключается в том, чтобы отчеты могли правильно показывать, сколько проходов и сбоев, и какие тесты завершаются неудачей.
Как мне этого добиться? и / или я думаю, что хочу, чтобы все тесты выполнялись с ошибками?
Ответ №1:
Проще простого:
Вам нужно добавить команду
<fail message="Something went wrong. Please check the test results." if="testfailure" />
к цели, которая содержит вашу команду jmunit, после самой команды jmunit.
Таким образом, задача jmunit установит переменную testfailure
при сбое одного из тестов, а команда fail
сделает сборку неудачной, если это свойство установлено.
Надеюсь, это поможет.