2009-06-23 4 views
5

J'essaie d'obtenir une couverture de code avec des tests mstest. J'utilise PartCover 2.2.0.36424.Pourquoi le rapport PartCover affiche 0% lorsque mstest s'exécute avec succès et que tous les tests passent

Le problème est avec les assemblages réels, j'obtiens une couverture de code de 0% (Note: Tous les tests réussissent).
Lors du test de démo pour la source de démonstration que j'ai créé, cela a bien fonctionné (le rapport a du sens).

je remarquai que dans le fichier journal:
pour les fichiers de démonstration, après la ligne « Assemblée AAAAAA chargée (MyTestesAssemblyName) », il y a la ligne « classe NNNNNN chargée (MyTestesAssemblyName.MyClassname) »;
et pour les fichiers réels, il n'y a pas de deuxième ligne (pour la classe) après la ligne pour l'assemblage.

Avez-vous des idées sur ce qui est différent dans nos assemblages? (Remarque: ils ne sont pas signés)

10x.

+0

Je suis également le même problème avec mes tests « réels ». J'obtiens une couverture de 0% avec l'interface graphique et un rapport XML vide avec une exécution en ligne de commande. Je suis enthousiaste à l'idée de répondre à cette question. –

Répondre

1

Vérifiez que vous avez ajouté --include [*] * argument et vérifier commandline processus de tests est compilé pour fonctionner sur x86 (si x64 OS est utilisé)

7

je le même problème. J'ai vérifié fuslogvw.exe parce que je sais que mstest.exe peut exécuter votre code de test dans vstesthost.exe. mstest.exe chargeait seulement mon code pour la réflexion, c'est pourquoi il apparaissait comme 0% dans le rapport de PartCover.

Pour corriger cela, j'ai spécifié le paramètre/noisolation à mstest.exe via partcover.exe. Cependant, une chose à noter, il semble que vous devez citer tous les paramètres que vous spécifiez pour passer à mstest.exe.

Voici la ligne de commande réelle, je sais travaux:

partcover --target \path\to\MSTest.exe --include [*]* --target-args "/noisolation /testcontainer:myut.dll" --target-work-dir \path\to\workingdir --output C:\tmp\PartCoverResults.xml 
+1

Wow! Cela a vraiment marché pour moi. Merci beaucoup. Voici la documentation du commutateur: http://msdn.microsoft.com/fr-fr/library/ms182489.aspx – ulrichb

Questions connexes