2010-03-12 7 views
2

Lorsque j'exécute mes tests MSTest dans Visual Studio 2008 Team System et que j'obtiens des résultats de couverture de code, je vois toujours un service Web particulier inclus. Je ne me soucie pas de savoir si ce service web est testé, je n'utilise intentionnellement qu'une petite partie de celui-ci. Comment puis-je exclure la référence Web de mes résultats de couverture de code?comment exclure une référence Web de la couverture de code dans VS 2008 Team System

Je vois que quelqu'un a demandé this very question plus sur Microsoft Connect et il est marqué comme remis, mais j'espérais que quelqu'un savait d'une solution de contournement.

Répondre

2

Une solution consiste à placer le service Web dans un assembly distinct et à ne pas exécuter de couverture de code sur cet assembly/projet.

+0

Cela semble janky comme l'enfer, mais cela a fonctionné. J'espère qu'à l'avenir, ils trouveront un moyen d'exclure les services Web de la couverture du code afin que vous n'ayez pas à le faire. –

0

Je ne crois pas que ce soit possible dans la version actuelle de la fonctionnalité de couverture de code. Il rendra compte des résultats de la couverture du code pour l'ensemble de l'assemblage.

Une chose que vous pouvez essayer est de marquer la référence Web avec l'attribut DebuggerNonUserCode. Ceci est utilisé par plusieurs outils pour filtrer le code qui n'est pas réellement détenu par l'utilisateur. Je ne sais pas si l'outil de couverture de code filtre cet attribut mais il est possible qu'il le fasse.

+0

Quelqu'un a mentionné l'utilisation de cet attribut sur une classe, mais comment le ferais-je pour une référence Web? Si j'essaie d'ouvrir la référence Web, cela me montre simplement des choses dans le navigateur d'objets. –

+0

@Sarah: vous pourriez essayer de créer une autre partie des classes partielles générées par la référence web. Mettez l'attribut sur l'autre partie. Conservez l'autre partie dans un dossier autre que le dossier de référence Web. –

Questions connexes