2010-09-02 9 views
1

Y a-t-il des chances que je rencontre des problèmes pour vérifier la couverture avec le code de version dans .Net? (Méthodes IE inlining ou magie de compilateur similaire?)Utilisation du code de version pour la couverture de code

+0

Oui. Le compilateur inline le code assez souvent. – Grozz

+1

Est-ce que l'inlining se passe dans le code IL ou quand le code est exécuté (lors de l'exécution)? Qu'en est-il de la couverture de code: en utilisant le code IL ou le code machine résultant à l'exécution? – Benoittr

Répondre

1

L'unité de code utilisée par les outils de couverture de code (à la fois NCover et VSTS), est le point de séquence trouvé dans PDB (la section rouge foncé du code mis en évidence lorsque vous mettez un point de rupture au débogage). Ainsi, si vos fichiers PDB ne sont pas générés, vous n'aurez pas de métriques de couverture de code. Pour répondre à votre question, vous pouvez avoir des mesures de couverture de code en mode Release tant que vous générez des fichiers PDB (je ne l'ai pas testé moi-même mais 95% de certitude)

Vous n'aurez pas de problème avec des choses comme le compilateur en ligne qui se produit lors de la compilation IL -> asm à l'exécution, effectuée par le compilateur CLR Just in Time.

+0

Sur notre serveur de construction Id beaucoup plutôt une seule construction pour soutenir les tests et la couverture (et l'id plutôt l'avoir aussi proche que possible de notre code de production). Donc, je vais aller de l'avant avec le code de version et voir comment il se comporte. Je vous remercie. – Benoittr