2009-10-05 7 views
16

Existe-t-il de tels outils de couverture de code en Java qui donnent les différents chemins dans le programme. Fondamentalement, l'idée est de s'assurer que toutes les boucles et les boucles imbriquées sont couvertes pendant l'exécution. Cela est de pouvoir vérifier si toutes les boucles d'une base de code ont été exécutées au moins à travers une itération.Outils de couverture de code en Java

+0

en double de http://stackoverflow.com/questions/39329/what-is-your-favourite-code-coverage-tools-free- et-non-libre –

+8

Non, ce n'est pas le cas. Il a demandé des outils de couverture * path *. Voir http://en.wikipedia.org/wiki/Code_coverage pour les définitions. La plupart des réponses à cette question ne répondent pas à la question posée. –

Répondre

2

Essayez EMMA C'est gratuit. Il est pris en charge dans le support eclipse et JetBrains IDEA et également dans le serveur de génération TeamCity.

+0

Notez que la couverture de code n'est prise en charge que dans l'édition finale d'IDEA, et non dans l'édition communautaire. – Eponymous

1

Clover est un bon outil.

+2

Malheureusement c'est un produit commercial :-( Autre que cela il est, encore, actuellement maintenu et dans mon expérience il donne un résultat précis (emma, par exemple, ne m'a pas permis d'obtenir 100% de couverture sur une énumération) se branche dans Eclipse, Hudson, Sonar, ... Le rapport est vraiment propre (ce qui fait beaucoup de différence à la fin de la journée) – vdr

+0

Malheureusement, qui paie * votre * salaire? –

+0

Je crois que Clover est maintenant open source – John

16

Cobertura, EMMA et même Clover seulement faire branche/couverture de décision (en plus de la couverture ligne/déclaration, bien sûr). Clover fournit également méthode couverture (qui mesure simplement si une méthode a été entrée du tout lors de l'exécution).

Pour chemin couverture (plus couverture de ligne/d'instruction), essayez JMockit Coverage.

Un exemple de rapport peut être trouvé here.

En fait, à partir de maintenant, ce n'est qu'une version initiale du nouveau support de couverture de chemin, que j'ai encore besoin d'améliorer.

+0

+ 1 pour cette bonne réponse, la seule à ce jour (tous les autres manquent la vraie question de l'OP) –

Questions connexes