2009-10-05 14 views
16

¿Hay alguna herramienta de cobertura de código en Java que proporcione las diferentes rutas en el programa? Básicamente, la idea es garantizar que todos los bucles y bucles anidados estén cubiertos durante la ejecución. Eso es para poder determinar si todos los bucles en una base de código se han ejecutado al menos a través de una iteración.Herramientas de cobertura de código en Java

+0

duplicado de http://stackoverflow.com/questions/39329/what-is-your-favourite-code-coverage-tools-free- and-non-free –

+8

No, no lo es. Pidió herramientas de cobertura * path *. Consulte http://en.wikipedia.org/wiki/Code_coverage para obtener las definiciones. La mayoría de las respuestas proporcionadas a esta pregunta no responden a la pregunta planteada. –

Respuesta

2

Probar EMMA Es gratis. Es compatible con Eclipse y soporte JetBrains IDEA y también con el servidor de compilación TeamCity.

+0

Tenga en cuenta que la cobertura de código solo se admite en la edición Ultimate de IDEA, no en la edición de comunidad. – Eponymous

1

Clover es una buena herramienta.

+2

Desafortunadamente es un producto comercial :-( Aparte de eso, todavía se mantiene actualmente y en mi experiencia da un resultado preciso (emma, por ejemplo, no me permitió obtener el 100% de cobertura en una enumeración) se conecta a Eclipse, Hudson, Sonar, ... El informe está realmente limpio (eso hace una gran diferencia al final del día) – vdr

+0

Desafortunadamente ¿Quién está pagando * su * salario? –

+0

Creo que Clover es ahora de código abierto . – John

16

Cobertura, EMMA e incluso Trébol sólo lo hacen rama de la cobertura/decisión (además de línea/declaración cobertura, por supuesto). Clover también proporciona la cobertura del método (que simplemente mide si se ingresó un método durante la ejecución).

Para ruta cobertura (más cobertura de línea/extracto), intente JMockit Coverage.

Se puede encontrar un informe de muestra here.

En realidad, a partir de ahora esta es solo una versión inicial del nuevo soporte de cobertura de ruta, que aún necesito mejorar.

+0

+1 para esta buena respuesta, la única hasta ahora (a todos los demás les falta la verdadera pregunta del OP) –

1

I'd go with JaCoCo Es una herramienta de código abierto (reemplazo para EMMA) distribuida bajo la licencia pública de Eclipse.

Ref (05:05, 17 de julio de 2013): http://en.wikipedia.org/wiki/Java_Code_Coverage_Tools

+0

[EclEmma] (http://www.eclemma.org/) proporciona una buena integración de JaCoCo con Eclipse. –

Cuestiones relacionadas