2009-07-19 3 views
2

J'ai rencontré le problème en essayant d'exécuter des tests unitaires avec NUnit 2.5 dans Vista 64 bits, MS Visual Studio 2008 SP1, Projets framework 3.5.Impossible de tester avec NUnit sur Vista 64bit

J'ai 2 projets en solution, le premier - projet principal et le second - projet avec tests. Les deux projets ciblaient la plateforme "Any CPU". En fait, je n'ai rien changé à propos de la plateforme, je viens de créer deux projets avec les paramètres par défaut (Any CPU).

J'ai essayé d'exécuter des tests NUnit avec différents outils: 1) Runner de tâches dans Resharper 4.5; 2) TestDriven.NET 2.0; 3) NUnit.exe. Et chaque fois que je lance des tests unitaires, je reçois un rapport d'erreur de Windows disant que le programme (1) Task Runner; 2) TestDriven.NET 2.0; 3) L'exécution de nunit.exe a été arrêtée. J'ai essayé d'exécuter des tests avec nunit-x86, et j'ai la même erreur.

Dans les détails à partir de Windows, je vis la chaîne suivante (entre autres):

Module Défaut Nom: KERNEL32.dll

Quelqu'un peut-il aider avec elle? Qu'est-ce qui ne va pas? Je peux fournir plus de détails, si cela peut aider.

+0

Pouvez-vous fournir une trace de pile plus détaillée de l'exception? Essayez d'exécuter nunit à partir du débogueur VS2008 pour attraper l'exception un peu plus facilement. –

+0

Merci Jérôme, j'étais tellement obscurci par des problèmes d'architecture avec NUnit que je n'ai pas pensé à faire des tests avec le débogueur. Honte sur moi :). –

Répondre

1

Eh bien, le problème ne concernait ni la compatibilité ni l'architecture. J'ai exécuté des tests avec le débogueur et j'ai trouvé qu'une méthode provoquait l'extraction de StackOverflowException de la méthode de bibliothèque CLR. Je ne sais pas pourquoi NUnit n'attrape pas cette exception de CLR, mais ce n'est pas le cas. En fait, NUnit attrape généralement toutes les exceptions et affiche simplement le statut de test rouge. Mais apparemment pas dans ce cas. En tout cas, merci pour votre aide et je pense que si quelqu'un rencontre parfois ce problème, il ne sera pas surpris :).

Questions connexes