Comme indiqué, les tests unitaires sont conçus pour s'exécuter sans interaction.
Cependant, vous pouvez déboguer des tests unitaires, comme tout autre code. Le moyen le plus simple est d'utiliser la fonction Debug dans l'onglet Résultats du test.
Être capable de déboguer signifie être capable d'utiliser des points d'arrêt. Être capable d'utiliser des points d'arrêt signifie donc être capable d'utiliser Tracepoints que je trouve extrêmement utile dans le débogage de tous les jours.
Essentiellement, les Tracepoints vous permettent d'écrire dans la section Sortie (ou, plus précisément, à la sortie standard). En option, vous pouvez poursuivre l'exécution, ou vous pouvez l'arrêter comme un point d'arrêt normal. Cela vous donne la "fonctionnalité" que vous demandez, sans avoir besoin de reconstruire votre code, ou de le remplir d'informations de débogage.
Il suffit d'ajouter un point d'arrêt, puis de cliquer avec le bouton droit de la souris sur ce point d'arrêt. Sélectionnez l'option "When Hit..." :
Ce qui amène le dialogue :
Quelques points à noter :
- Remarquez que le point d'arrêt est maintenant représenté par un diamant, au lieu d'une sphère, indiquant un point de trace.
- Vous pouvez afficher la valeur d'une variable en l'entourant comme {this}.
- Décochez la case "Continuer l'exécution" pour que le code s'arrête sur cette ligne, comme n'importe quel point d'arrêt normal.
- Vous avez la possibilité d'exécuter une macro. Soyez prudent - vous pouvez provoquer des effets secondaires néfastes.
Consultez la documentation pour plus de détails.
2 votes
Cela dépend vraiment de l'exécuteur. Vous pouvez utiliser TestDriven.Net (un excellent exécuteur de tests, gratuit pour un usage personnel) - Console.WriteLine écrira dans le panneau de sortie VS.
1 votes
Merci de faire connaître TestDriven.Net.
0 votes
NCrunch dispose également de cette fonctionnalité, ce qui, à lui seul, en justifie le prix, selon moi. J'ai un
Dump
qui affiche le contenu de l'objet dans la console, ce qui facilite grandement le débogage. i.imgur.com/MEZwy7X.png0 votes
En général, il n'est pas nécessaire d'imprimer une chaîne de caractères dans les tests unitaires. Mais, si vous en avez besoin, il y a un autre lien qui résout parfaitement votre problème Comment puis-je écrire la sortie d'un test unitaire ? . Votre devrait ouvrir la console de test, plutôt que la console normale.