Quelle interface graphique dois-je exécuter avec JUnit (similaire à l'interface graphique NUnit)
Question
Quelle interface graphique dois-je utiliser pour exécuter mes tests JUnit, et comment dois-je procéder exactement ?Mon expérience entière est dans .NET, donc j'ai l'habitude de simplement lancer mon interface graphique NUnit et d'exécuter mes tests unitaires.Si les lumières sont au vert, je suis clean.
Maintenant, je dois écrire du code Java et je souhaite exécuter quelque chose de similaire en utilisant JUnit.La documentation JUnit est claire et claire sur l'ajout des attributs nécessaires à la création de tests, mais elle explique assez bien comment lancer un exécuteur et voir les résultats de ces tests.
La solution
Eclipse est de loin le meilleur que j'ai utilisé.Coupler JUnit avec un couverture de code plug-in et Eclipse seront probablement le meilleur testeur unitaire.
Autres conseils
JUnit a cessé d'avoir des exécuteurs graphiques après la sortie de JUnit 4.
Si vous disposez d'une version antérieure de JUnit, vous pouvez utiliser un programme d'exécution de test graphique en entrant sur la ligne de commande[1] :
java junit.swingui.TestRunner [optional TestClass]
Avec la classe de test facultative, les tests spécifiés seront exécutés immédiatement.Sans cela, vous pouvez entrer la classe dans l'interface graphique.
L’avantage d’exécuter vos tests de cette façon est que vous n’avez pas la surcharge d’un IDE entier (si vous n’en exécutez pas déjà un).Cependant, si vous travaillez déjà dans un IDE tel qu'Eclipse, l'intégration est excellente et est beaucoup moins compliquée pour exécuter le test.
Si vous disposez de JUnit 4 et que vous ne souhaitez vraiment pas utiliser d'IDE pour exécuter les tests, ou si vous souhaitez un retour textuel, vous pouvez exécuter le programme d'exécution de test de l'interface utilisateur textuelle.Dans la même veine que précédemment, cela peut être fait en entrant sur la ligne de commande[1] :
java junit.textui.TestRunner [TestClass]
Bien que dans ce cas, TestClass ne soit pas facultatif, pour des raisons évidentes.
[1] en supposant que vous vous trouvez dans le bon répertoire de travail et que le chemin de classe a été configuré, ce qui peut être hors de portée de cette réponse
Il existe un exécuteur JUnit autonome doté d'une interface utilisateur, mais je recommande d'utiliser l'un des exécuteurs de test intégrés dans les IDE Java (Eclipse, Netbeans et IntelliJ en ont tous de bons).Ils prennent tous en charge JUnit et la plupart prennent également en charge TestNG.
Si vous souhaitez un exécuteur de test autonome (pas celui de l'IDE intégré), alors pour Junit3, vous pouvez utiliser
junit.textui.TestRunner %your_class%
- coureur basé sur la ligne de commandejunit.swingui.TestRunner [%your_class%]
- coureur avec interface utilisateur (alimenté par balançoire)
Pour Junit4, les exécuteurs alimentés par l'interface utilisateur ont été supprimés et jusqu'à présent, je n'ai pas trouvé de solution pratique pour exécuter de nouveaux tests Junit4 sur l'ancien exécuteur alimenté par Swing sans bibliothèques supplémentaires.Mais vous pouvez utiliser Extensions JUnit 4 qui fournit une solution de contournement pour utiliser junit.swingui.TestRunner.Plus ici
Pourquoi avez-vous besoin d'un coureur GUI ?Ne pouvez-vous pas simplement exécuter les tests depuis l'EDI lui-même ?
Dans .Net, nous avons TestDriven.net, en Java, il doit y avoir quelque chose d'équivalent.Vous pouvez consulter IDÉE IntelliJ, il intègre la prise en charge des tests unitaires.