2009-10-30 11 views
0

J'ai des difficultés à faire en sorte que NCover couvre correctement un .dll. J'ai plusieurs projets de test qui utilisent XUnit.NET et SubSpec pour exécuter des spécifications de style BDD. Toutes ces suites de test, sauf une, fonctionnent parfaitement dans la version de NCover fournie avec TestDriven.NET (1.5.8). Cependant, j'en ai un qui a refusé de profiler l'assemblage testé. J'ai vérifié que les noms d'assembly pour l'option/a sont corrects, que le fichier .pdb existe et qu'aucune exception n'est levée pendant l'exécution. Tous les 8 tests passent, ce qui peut être vu lorsque l'application NCover console est exécutée.NCVous ne couvrez pas un assemblage?

L'Assemblée fait référence à l'WPF assemblages PresentationCore, PresentationFramework et WindowsBase. Je ne sais pas si cela pourrait causer des problèmes, mais je suis complètement déconcerté par le refus de NCover de profiler cette assemblée.

Ligne de commande:

"C:\Program Files (x86)\TestDriven.NET 2.0\NCover\1.5.8\NCover.Console.exe" //reg //w "E:\Campus.Core\Specs.Campus.Windows\bin\Debug" //a Campus.Windows "E:\Campus.Core\ThirdParty\xUnit.NET\v1.5\xunit.console.x86.exe" Specs.Campus.Windows.dll /html Specs.Campus.Windows.html 

REMARQUE:

problème semble avoir résolu lui-même! Je ne sais pas ce qui a changé, mais l'assemblage est maintenant couvert correctement, et c'est à 100% de couverture! Merci à ceux d'entre vous qui ont apporté une contribution. Je vous en suis reconnaissant!

+0

Pouvez-vous nous montrer votre ligne de commande NCover? – GraemeF

+0

J'ai ajouté la ligne de commande. J'espère que cela donne un aperçu. – jrista

Répondre

0

Le problème semble s'être résolu! Je ne sais pas ce qui a changé, mais l'assemblage est maintenant couvert correctement, et c'est à 100% de couverture! Merci à ceux d'entre vous qui ont apporté une contribution. Je vous en suis reconnaissant!

1

Je ne sais pas comment la version 1.5.8 fonctionne mais êtes-vous sûr que la DLL est chargée en mémoire?

Etes-vous sûr que le pdb correspond à la DLL? De temps en temps, la DLL n'est pas synchronisée avec le pdb. Était-il construit sur la même machine?

Quel est le nom de l'assemblage? Regardez dans le fichier app.config et voyez s'il y a des exclusions du système.

Si vous utilisez NCover 3, n'hésitez pas à contacter le support, ils vous aideront.

Merci

Joe Feser

+0

Tout est construit et exécuté sur la même machine physique. J'ai fait nettoyer/reconstruire, manuellement supprimé tous les fichiers et reconstruit, etc. Le .pdb correspond certainement le .dll. Le nom de l'assembly est Campus.Windows, une bibliothèque d'utilitaires qui fournit certains types de prise en charge WPF. C'est très petit et très simple. Je n'utilise pas NCover 3. Je l'ai essayé, mais il était horriblement lent et l'interface a glissé et s'est écrasé beaucoup. Je ne sais pas exactement ce qu'ils essayaient d'accomplir avec la v3, mais malgré ses améliorations de rapports, on a l'impression d'être en retrait par rapport à la version 1.5. :( – jrista

+0

Quelle version de NCover 3 plantait beaucoup? Si vous utilisiez les versions bêta de Nov-Jan? NCover 3 est 2-3 fois plus rapide que NCover v1.5.8 en temps d'exécution. –

1

NCover 1.5.8 a une liste d'ensembles exclus automatiquement dans le fichier app.config. peut-être que l'un d'eux exclut votre assemblée?