2010-07-27 39 views
3

Résumé: Je peux exécuter des tests unitaires et une couverture de code, mais le rapport inclut seulement les classes NUnit, pas mes classes d'application.NUnit 2.5.6 + PartCover 2.0/4.0 = Mes classes ne sont pas affichées

J'ai utilisé avec succès PartCover dans le passé. Pas si cette fois. J'ai essayé le dernier PartCover (4.0), rétrogradé à la dernière version (2.0), les deux avec NUnit 2.5.6.

J'ai créé une simple bibliothèque de classe .NET 4.0 (également utilisée avec une application Web qui a un projet qui est une bibliothèque de classes) avec une seule classe dans un espace de noms et deux méthodes de test dans une autre bibliothèque d'une autre classe.

NUnit/PartCover installé correctement; Je peux exécuter les tests NUnit à la fois dans NUnit et à travers PartCover (je peux les voir en cours d'exécution et dire "2 passés"), mais le rapport ne montre que les espaces de noms NUnit. (Oui, j'utilise + [] comme règle de couverture.)

Des idées? Autant que j'aime NUnit, je voudrais voir la couverture pour mes propres classes: o)

Et j'ai également essayé d'aligner les espaces de noms de DLL de test et de DLL de code, en vain.

Édition: J'ai essayé de réécrire mon exemple de code précédemment couvert fonctionnant depuis un an; tous les tests sont exécutés, mais les espaces de noms de projet réels n'apparaissent pas. Il y a un indice ici, qui semble impliquer que cela dépend de la version de NUnit que vous utilisez: http://sourceforge.net/projects/partcover/forums/forum/605222/topic/3308367 (et oui, j'ai déjà essayé la case à cocher reportage sur domaine)

J'ai essayé NUnit 2.5.5.x et 2.5. 6.x et les deux me donnent les mêmes résultats.

Edit: Il semble que cette fourche de la version 4.0 officielle semble fonctionner, bien que de façon sporadique (Google pour la fourchette PartCover, je ne peux plus ajouter des hyperliens)

+1

Essayez NCover;) ... –

+7

J'aimerais. Envoyez vos informations de carte de crédit et je vais commencer tout de suite: o) Sérieusement, je suis un développeur unique travaillant sur de petits projets de profil bas. PartCover est génial parce que c'est gratuit, et il a l'habitude de travailler pour moi; par conséquent, je voudrais le faire fonctionner à nouveau au lieu de passer à quelque chose que je ne peux pas se permettre maintenant. – ashes999

Répondre

1

Madness. Apparemment, en appuyant sur Pause/Break sur votre clavier après NUnit imprime le résumé du total réussi/échoué, et en attente d'environ une seconde pour le second message "CoreProfiler est éteint", tout fait fonctionner.

Sûrement, cela ne peut pas être la vraie solution. Bien sûr, je peux monter un fichier batch qui va dormir ~ 1 seconde après l'exécution de NUnit, mais cela semble être un hack majeur.

+0

Je peux faire une pause mais je ne peux pas reprendre –

+0

Fonctionne pour moi:/essayez plutôt ce fichier batch (utilise le ping comme une pause lente). Dites simplement à PartCover d'utiliser ce fichier batch à la place de nunit-console.exe. nunit-console.exe% 1% 2% 3% 4% 5% 6% 7% 8% 9 Le sommeil paradoxal !! ping 127.0.0.1 -n 3> nul – ashes999

1

La façon correcte de gérer cela est d'ajouter le temps d'exécution requis à la configuration de nunit. Vous remarquerez que NUnit s'exécute dans CLR 2.0 au lieu de 4.0. Il y a de nombreuses réponses à cette question sur SO, mais j'ai trouvé this one d'abord. Faire cela seul l'a arrangé pour moi. Notez que votre version du runtime peut être légèrement différente. Vous devrez peut-être confirmer.