lundi 29 octobre 2012

Ignorer les tests d'intégration lors d'un TimeOut avec les Rules Junit


Contexte

Vous devez développer un client java pour une api distante.
Vous avez bien couvert votre code avec des tests unitaires indépendants de l'infrastructure grâce à Mockito mais on a beau être fan des mocks, ça vous retourne ce que vous attendez et vous testez que vous avez bien reçu ce que vous attendiez, donc par précaution vous décidez de coder quelques tests d'intégrations pour assurer le coup, vérifier que l'api fonctionne comme on l'attends et histoire aussi d'être vite au courant si une montée de version est faite sans compatibilité ascendante.

Problème
De temps en temps, vos tests n'arrivent pas à communiquer avec le server qui héberge l'api et votre server d'intégration continue annonce un build fail et vous vous trouvez dans un des cas suivants:
-> La solution que vous devez appeller est sur un autre SI et vous êtes à la merci des redémarrages, coupures de réseaux et autres sabordages.
-> Votre réseaux local est capricieux

Crédits

Thème dérivé du GUI Set Retro-pixel.