35 votes

Quel est votre ou vos outils de couverture de code préférés? (Gratuit et non libre)

Quel est votre favori de la couverture de code outil(s) (libre/non-libre) et comment les utiliser efficacement?

Il ya plusieurs options disponibles, telles que:

(dates exactes à 2013-02-18)

J'ai CodeCover me dire les différents morceaux de mon code sont 58% couverts, etc. Mais comment cela aide - moi à mieux écrire le code?

34voto

Adam Davis Points 47683

La couverture de code ne vous aide pas à écrire un meilleur code.

Cela vous aide à écrire de meilleurs tests.

De meilleurs tests vous aident à écrire un meilleur code.

26voto

Dan Dyer Points 30082

J'utilise Cobertura. Je la préfère à Emma parce qu'il n'direction générale de la couverture ainsi que la couverture en ligne et parce que je pense que les rapports HTML, il génère sont plus agréable.

Pourquoi, par exemple, la branche de la couverture qui est important c'est le code qui utilise l'opérateur ternaire (une ? b : c). Si l'outil ne s'occupe que de la couverture en ligne, cette déclaration sera considérée comme 100% couvert, même si elle s'exécute toujours la même branche. La direction générale de la couverture, il sera seulement 50% couverte à moins que les deux branches ont été exécutées.

La couverture de Code n'est pas directement vous aider à mieux écrire du code, mais il ne vous aider à mieux écrire des tests, qui à son tour vous aider à mieux écrire de code. La couverture de Code permettra de découvrir les chemins d'exécution qui ne sont pas exercés par vos tests. Ainsi que l'indique l'endroit où vous pouvez améliorer vos tests, cela peut aussi identifier des morceaux de code qui peuvent être supprimés, car ils ne sont pas utilisés).

Si vous utilisez un outil d'intégration continue, comme Hudson, vous pouvez tracer votre couverture scores au fil du temps, ce qui peut être utile pour l'identification des tendances.

12voto

Scott Hanselman Points 13109

J'irais aussi jusqu'à ajouter que la couverture de code, même la couverture à 100% vous indique seulement que vous avez exécuté du code. Cela ne dit pas que votre intention était correcte ou que ce que vous vouliez arriver se produise réellement.

Désolé si c'est un commentaire sarcastique, mais je pense que c'est un bon rappel.

7voto

npellow Points 1446

Disclaimer: je suis un Atlassian

Trèfle combine la couverture et de la complexité via le Projet"Risques" nuage de tags. Il affiche découvert classes plus rouge, et le complexe de classes plus nombreuses à faire des moyens d'identifier les potentiels risques d'un projet plus facile. Cela fournit une indication de classes à tester la prochaine.

Aussi, "par la couverture de test" vous permet de visualiser les tests couverts, chaque ligne de code. Cliquez sur le vert sombre des bars en marge de cet exemple de rapport:

Le trèfle est gratuit pour les projets open source et gratuit pour 30 jours d'évaluation.

6voto

John Meagher Points 6734

C'est un outil commercial, mais je vais ajouter une recommandation de Clover d' Atlassian .

D'autres ont bien répondu aux questions "Comment l'utiliser".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X