Fail maven build quand maven-antrun-plugin a échoué
Je suis en cours d'exécution d'une tâche Ant qui exécute un test junit de l'intérieur maven, à l'aide de maven-antrun-plugin. L'invocation ressemble à ceci:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ant-test</id>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks unless="maven.test.skip">
<ant antfile="${basedir}/build.xml" target="test">
<property name="build.compiler" value="extJavac" />
</ant>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Lorsque les tests échouent, l'accumulation continue de rapports et de succès. J'ai essayé de reproduire ce comportement avec ant seulement (Ant en cours d'exécution en ligne de commande 'ant -f example.xml'):
<project name="example" basedir="." default="aa">
<target name="aa">
<ant antfile="build.xml" target="test" />
</target>
</project>
mais dans ce cas tout est comme prévu: premier échec du test de cesse de le construire et de rapports qu'il a échoué. Il ressemble à maven peu de magie (ou appelle ant d'une autre manière).
Donc ma question, si la manière de réaliser l'effet de défaut de maven build quand antrun test de la tâche de l'échec.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Vous voudrez peut-être jeter un oeil à la failonerror attribut pour antrun:
Référence.
Votre question soulève une question évidente en retour, pourquoi ne pas simplement utiliser Maven pour exécuter JUnit? Le plugin surefire va exécuter des tests (en phase de test) qui ont été compilées dans le test-compile de phase dans target/test-classes (généralement le contenu de src/test/java). Il y a un JavaWorld article de donner une introduction à l'utilisation de Junit avec Maven, vous pourriez trouver utile
En supposant que vous avez une raison valable d'utiliser Ant pour invoquer les tests, vous devez vous assurer que la Fourmi est mis en place à l'échec si les tests ne sont pas valides. Vous pouvez le faire en configurant le JUnit tâche. Les propriétés que vous pouvez définir sont les haltonerror ou haltonfailure. Alternativement, vous pouvez définir une propriété sur l'échec et l'échec de la Fourmi construire vous-même à l'aide de la failureproperty propriété.
J'ai inclus deux exemples pour montrer une Fourmi défaillance provoquant une Maven build échec. La première est une invocation directe de l'échec de la tâche, la seconde invoque une tâche dans un build.xml de la même manière que vous l'avez fait.
Cet exemple trivial montre qu'une fourmi défaillance d'un Maven build à l'échec:
L'extension de l'exemple d'utiliser une fourmi appel que vous avez:
Avec build.xml comme:
Donne l'erreur suivante: