Access Keys:
Skip to content (Access Key - 0)

Cet article montre comment écrire un test unitaire avec JUnit dans un context où l'on manipule des Threads.

Il n'est pas simple d'utiliser JUnit conjointement avec les Threads.
Une erreur classique (ou plutôt 2 erreurs classiques) revient à un implémenter son test de la manière suivante :

Ce test passe sans problème bien qu'il renvoit une Exception dans la sortie standard.

Voilà une façon propre qui fait échouer le test comme on le souhaiterait :

Conclusion

Donc, pour bien implémenter ce type de test, il faut :

  • Attendre la mort du Thread par l'appel de la méthode join()
  • Catcher Error et Exception que JUnit ne peut intercepter et les gérer soi-même pour les lever en dehors du Thread et pour que le harnais de test JUnit puisse se rendre compte que le test échoue.
Conseil
Afin d'éviter de faire des tests qui pourraient passer alors qu'ils ne devraient pas, faites toujours échouer le test en changeant la valeur attendue.
Adaptavist Theme Builder (4.2.3) Powered by Atlassian Confluence 3.5.5, the Enterprise Wiki