Débogage des tests TAEF
Configuration du débogueur
Par défaut, les cas de test sont exécutés dans un processus distinct de TE.exe : TE.ProcessHost.exe.
Débogage des processus enfants de TE.exe (windbg/cdb uniquement)
Si vous utilisez un débogueur tel que cdb ou windbg, vous pouvez simplement passer le commutateur « -o » au débogueur. Cette opération configure le débogueur pour déboguer automatiquement les processus enfants, tous dans le même instance de débogueur.
Par exemple :
windbg -o te.exe MyTests.dll
Ensuite, pour basculer vers le processus où vos tests s’exécutent, utilisez | Commande (pipe). La commande de canal pour le basculement des processus est utilisée exaclty comme commande ~ (tilda) pour basculer les threads.
Par exemple :
|1s - sets the current process to the second loaded process.
Exécution des tests « InProc » (Visual Studio/windbg/cdb)
Si vous préférez utiliser Visual Studio pour effectuer votre débogage, la méthode ci-dessus ne fonctionnera pas pour vous. Dans ce cas, configurez simplement votre débogueur pour exécuter TE.exe, définissez les points d’arrêt appropriés dans pour le cas de test et passez le commutateur /inproc à TE.exe. Cela garantit que tous les tests sont exécutés dans le processus TE.exe plutôt que de générer un nouveau processus.
Par exemple :
start devenv /debugexe te.exe MyTests.dll /inproc
La commande ci-dessus lance Visual Studio. Ouvrez ensuite le code source de vos cas de test et définissez vos points d’arrêt appropriés. Enfin, appuyez sur F5 pour démarrer votre cas de test et il doit s’arrêter sur votre premier point d’arrêt (si vos symboles ont été chargés correctement).
Les étapes décrites ci-dessus fonctionnent uniquement avec des symboles corrects définis dans Visual Studio. Au moins, vous devez définir les symboles sur la dll de test que vous déboguez. Pour définir des symboles dans Visual Studio :
- Sélectionner le menu Outils
- Sélectionnez Options...
- Sélectionnez Débogage dans le menu arborescence de gauche.
- Sélectionnez Symboles sous Débogage
- Entrez le chemin des symboles sous Emplacement du fichier de symboles (*.pdb) : section
- Enregistrer vos paramètres
Rupture automatique dans le débogueur (« breakOnCreate » et « breakOnInvoke »)
Pour faciliter le processus de débogage, Taef offre la possibilité de s’introduire automatiquement dans le débogueur avant l’instanciation de chaque classe de test et/ou avant l’appel de chaque méthode de test.
Par exemple :
cdb -gG te.exe MyTests.dll /inproc /breakOnCreate /breakOnInvoke
La commande ci-dessus lance Te.exe sous cdb. Taef s’insère dans le débogueur juste avant l’instanciation de chaque classe de test et avant l’appel de chaque méthode de test.
Note: Il est recommandé d’utiliser cette fonctionnalité lors de l’exécution de Te.exe sous un débogueur et de spécification de l’option /inProc.