Herramientas de cobertura de código Java


Las herramientas de cobertura de código Java son de dos tipos: primero, herramientas que agregan declaraciones al código fuente Java y requieren su recompilación. En segundo lugar, herramientas que instrumentan el bytecode , ya sea antes o durante la ejecución. El objetivo es averiguar qué partes del código se prueban registrando las líneas de código ejecutadas al ejecutar una prueba.

JCov es la herramienta que ha sido desarrollada y utilizada con Sun JDK (y posteriormente Oracle JDK) desde los inicios de Java: desde la versión 1.1. JCov es capaz de medir y reportar la cobertura del código Java . JCov se distribuye bajo los términos de la Licencia Pública GNU (versión 2, con la Excepción Classpath). JCov se convirtió en código abierto como parte del proyecto de herramientas de código OpenJDK en 2014.

JaCoCo es un conjunto de herramientas de código abierto para medir y reportar la cobertura del código Java . JaCoCo se distribuye bajo los términos de la Licencia Pública de Eclipse . Fue desarrollado como reemplazo de EMMA, [1] bajo el paraguas del complemento EclEmma para Eclipse.

A diferencia de Atlassian Clover y OpenClover , que requieren instrumentar el código fuente, JaCoCo puede instrumentar el código de bytes de Java utilizando dos enfoques diferentes:

Y se puede configurar para almacenar los datos recopilados en un archivo o enviarlos a través de TCP. Los archivos de varias ejecuciones o partes del código se pueden combinar fácilmente. [3] A diferencia de Cobertura y EMMA , es totalmente compatible con Java 7, Java 8, [4] Java 9, Java 10, Java 11, Java 12, Java 13, Java 14, Java 15, Java 16, Java 17 y Java 18.

OpenClover es un sucesor gratuito y de código abierto de Atlassian Clover, creado como una bifurcación del código base de Clover publicado por Atlassian en 2017. Contiene todas las características del Clover original (la edición del servidor). El proyecto OpenClover está dirigido por desarrolladores que mantuvieron Clover entre los años 2012 y 2017. [12]