Dans Eclipse, si j'exécute un programme Java en mode débogage sans points d'arrêt et si la machine virtuelle Java rencontre une exception NullPointerException, Eclipse mettra en surbrillance la ligne de code incriminée et affichera les variables locales, etc. L'exécution est suspendue. Je peux évaluer le code en utilisant l'onglet Affichage, etc.
Mais, si j'exécute un test JUnit en mode débogage et que le jvm rencontre une exception NullPointerException, le jvm ne se met pas en pause et je n'ai pas l'occasion de voir les variables locales.
Est-il possible d'exécuter des tests JUnit afin que la machine virtuelle Java se mette automatiquement en pause lorsque je frappe une exception NullPointerException, sans utiliser de points d'arrêt?
Edit: Utilisation de JUnit 4 et Juno
Eclipse s'arrête lorsque l'exception qui est lancée est non capturée et vous écarterait de main (). Cependant, lorsque vous utilisez le framework JUnit, toutes les exceptions sont capturées par JUnit. Eclipse ne s'arrête donc pas.
Deux solutions me viennent à l’esprit:
Double-cliquez sur définir un point d'arrêt
Utiliser le mode Debug pour s'exécuter dans Eclipse
Placez le curseur sur cette ligne de code, puis cliquez sur step over
ou f6
Vous pouvez le voir sur l'onglet JUnit. Si vous double-cliquez sur la ligne présentant un problème, vous accédez à l'emplacement où l'exception null-pointeur s'est produite.
Java.lang.NullPointerException <--First line of the error
at.com.myProject.MyClass.myMethod(MyClass.Java:theLineOfMyCode) <-- the line that you should double-click
Après cela, vous serez redirigé vers la ligne de l'erreur.