2009-06-17 4 views

Répondre

13

Hudson permet en fait d'ignorer les échecs de test. Il doit juste être mis en propriété à Hudson. -Dmaven.test.failure.ignore = false

+2

Vous pouvez aussi l'ajouter dans le cadre de MAVEN_OPTS :) – Spedge

+0

Oui, c'est effectivement ce que j'ai fait. –

0

Si vous utilisez Ant pour piloter la génération, vous pouvez configurer la tâche JUnit pour qu'elle s'arrête en cas d'échec. C'est ce que tu veux dire?

+0

Je suis en train d'utiliser maven ... –

+1

Mais je ne veux pas arrêter la construction en cas d'échec du test. Hudson signale simplement que la construction est instable, mais je veux qu'elle signale comme échouée si un ou plusieurs tests unitaires échouent. –

0

Regardez à travers la configuration de votre travail, je crois qu'il y a une propriété (case à cocher) qui dit échec à l'échec du test, ou quelque chose du genre. Nous utilisons cela sur certains de nos projets à mon travail.

Sinon, si vous souhaitez utiliser la méthode Ant comme Maven suggéré peut exécuter des tâches de fourmis ...

2

Il y a deux propriétés à la tâche JUnit

errorProperty="maven.test.error" 
failureProperty="maven.test.failure" 

Après la balise JUnit, vous devriez être en mesure de faire quelque chose comme ça

<fail message="Test failed!!!" if="maven.test.error" /> 
<fail message="Test failed!!!" if="maven.test.failure" /> 

Mais ne me clouer sur ce

+0

Bonne idée si ça marche! – guerda

3

Il n'est pas recommandé d'échouer la génération si les tests échouent lors de l'utilisation de hudson. Le problème est que hudson ne signale pas l'état de réussite/échec du test si la construction échoue. Si la construction échoue, hudson considère qu'elle ne s'est pas terminée correctement et n'agit donc pas sur le résultat.

Questions connexes