В моем скрипте сборки есть несколько тестовых папок, каждая из которых содержит сотни тестовых примеров. Задача junit выполняется в каждой из этих папок. «haltonfailure» и «haltonerror» установлены в false, поэтому выполнение продолжается в случае сбоя.Задача ant junit - запуск всех тестов из нескольких тестовых папок, независимо от отказа
Однако, как только выполнение всех тестовых примеров из этой папки завершено, сборка останавливается (из-за некоторых неудачных тестов из этой папки) и не продолжает выполнение тестов из оставшихся папок. Так что я ищу, что независимо от того, в какой папке происходит сбой теста, также должны выполняться тестовые примеры из остальных папок.
Как это сделать (при условии, что мне нужно будет сохранить несколько тестовых папок)?
Вот соответствующий муравей скрипт у меня есть:
<target name="test">
\t <junit_tests />
<antcall target="generatetxtreport"/>
<antcall target="generatexmlreport"/>
<fail message="folder1 test(s) failed" if="junit.folder1.failed"/>
<fail message="folder2 test(s) failed" if="junit.folder2.failed"/>
<fail message="folder3 test(s) failed" if="junit.folder3.failed"/>
<fail message="folder4 test(s) failed" if="junit.folder4.failed"/>
<fail message="folder1 test(s) error" if="junit.folder1.error"/>
<fail message="folder2 test(s) error" if="junit.folder2.error"/>
<fail message="folder3 test(s) error" if="junit.folder3.error"/>
<fail message="folder4 test(s) error" if="junit.folder4.error"/>
</target>
<macrodef name="junit_tests">
<sequential>
\t <junit_test testfolder="folder1"/>
\t <junit_test testfolder="folder2"/>
\t <junit_test testfolder="folder3"/>
\t <junit_test testfolder="folder4"/>
</sequential>
</macrodef>
<macrodef name="junit_test">
<attribute name="testfolder"/>
<attribute name="testMode" default="once"/>
<sequential>
<junit printsummary="true"
\t \t haltonfailure="false"
\t \t haltonerror="false"
\t \t fork="on"
\t \t forkmode="@{testMode}"
\t \t failureproperty="[email protected]{testfolder}.failed"
\t \t errorproperty="[email protected]{testfolder}.error"
\t \t showoutput="false"
\t \t outputtoformatters="true">
\t <formatter type="brief" usefile="false"/>
\t <formatter type="xml"/>
\t <classpath>
\t <path refid="some.classpath"/>
\t </classpath>
\t <batchtest todir="some.dir">
\t <fileset dir="some.root\@{testfolder}\">
\t \t <include name="**/Test*.class"/>
\t </fileset>
\t </batchtest>
</junit>
</sequential>
</macrodef>
Примечания: муравей версия используется 1.8.4 и JUnit версия 3.8.1 –
ли, что ваши сборки выходят на первый 'fail' задачи, то есть в' <терпеть неудачу сообщения = "Folder1 тестов (ы) failed "if =" junit.folder1.failed "/>'? – sudocode