2009-05-05 7 views
0

Lorsque j'exécute des tests NUnit sur mon code C++ et qu'une assertion échoue, je n'obtiens pas les numéros de ligne indiquant l'emplacement de l'échec.Comment faire pour que les échecs d'assertion NUnit affichent des numéros de ligne pour C++?

Méthode d'échantillonnage:

[Test] 
void testMethod() 
{ 
    Assert::Fail("test comment"); 
} 

sortie de l'échantillon:

[nunit2] Les échecs:

[nunit2] 1) namespace.SomeTest.testMethod: Commentaire d'essai

[ nunit2] at namespace.SomeTest.testMethod()

Une sortie similaire (également sans numéros de ligne) est générée pour toute défaillance d'assertion.

Lorsque je regarde ma sortie, comment puis-je obtenir les informations de numéro de ligne pour quelle ligne a causé la panne?

Répondre

1

Vérifiez que vous construisez vos classes avec les informations de débogage (PDB).

La structure Assert lève fondamentalement une exception lorsque l'assertion échoue et que l'exception capture un StackTrace. La trace de la pile obtient ses numéros de ligne à partir du fichier PDB associé à l'exécutable.

Questions connexes