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

Cet article essaye de démontrer pourquoi il est déconseillé d'utiliser conjointement JUnit3 et JUnit4.

Ce n'est pas la première fois que je rencontre ce problème. Il faut éviter de mélanger JUnit3 et JUnit4 dans une classe de tests.

Voici un bel exemple de mélange JUnit3 et 4.

Comment va se comporter ce test ? Que va-t-il afficher ? On peut s'attendre à obtenir :

Et bien, non ! On obtient ceci :

Il y a plusieurs choses incorrectes ici :

  • D'une part, il y le mélange JUnit3 et JUnit4. Quelle version est utilisée pour exécuter le test ? En fait, il s'agit de JUnit3 qui exécute le test. Ici, l'annotation @Test est inutile. Pour preuve, si vous supprimer cette annotation, le test s'exécute tout de même car la méthode de test commence par test. C'est donc bien JUnit3 qui exécute le test.
  • D'autre part, il y a une erreur assez vicieuse qui fait que teardown n'est pas affiché. En fait, en JUnit3, la méthode "teardown" s'écrit tearDown. Un problème de casse vicieux mais assez courant.

Pour conclure, je pense qu'il faut absoluement éviter de mélanger JUnit3 et JUnit4 car vous pouvez aboutir à des incohérences qui pouront vous amener à de beaux maux de tête.

Adaptavist Theme Builder (4.2.3) Powered by Atlassian Confluence 3.5.5, the Enterprise Wiki