Mon script de génération comporte plusieurs dossiers de test configurés, chacun contenant des centaines de cas de test. La tâche junit est exécutée sur chacun de ces dossiers.'haltonfailure 'et' haltonerror 'ont la valeur false pour que l'exécution se poursuive en cas d'échec. Cependant, une fois l'exécution de tous les cas de test à partir de ce dossier terminée, la construction s'arrête (en raison de l'échec de certains tests de ce dossier) et ne poursuit pas l'exécution des tests des dossiers restants. Donc, ce que je cherche, c'est que quel que soit le dossier dans lequel l'échec du test se produit, les cas de test des dossiers restants devraient également être exécutés.ant tâche junit - exécution de tous les tests à partir de plusieurs dossiers de test, indépendamment de l'échec
Comment puis-je faire cela (en supposant que je devrais conserver plusieurs structure de dossier de test)?
Voici le script ant pertinent que j'ai:
<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>
Note: la version utilisée fourmi est 1.8.4 et la version 3.8.1 est JUnit –
Est-ce que votre construction sort à la première tâche 'fail', soit à' '? –
sudocode