Pregunta

¿Existen herramientas de cobertura de código buenas (y preferiblemente gratuitas) para Perl?

¿Fue útil?

Solución

Sí, Devel :: Cover es el camino a seguir.

Si desarrolla un módulo y usa Module :: Build para administrar la instalación , incluso tienes un objetivo de testcover :

 perl Build.PL
 ./Build testcover

Ejecuta todo el conjunto de pruebas y elabora un informe de cobertura combinado en HTML agradable, donde puedes navegar a través de tus módulos y ver su cobertura.

Otros consejos

Como de costumbre, CPAN es tu amigo: echa un vistazo a Devel :: Cover

Como se señaló, Devel :: Cover es tu amigo, pero también querrás buscarlo en Google. La documentación es un poco escasa y si cambia radicalmente su entorno, deberá reinstalarlo porque crea Devel :: Cover :: Inc con un montón de información extraída de su entorno en el momento de la instalación. Esto nos ha causado muchos problemas en el trabajo, ya que tenemos un entorno CPAN compartido y si un desarrollador instala Devel :: Cover y otro desarrollador intenta ejecutarlo, los resultados extraños (e incorrectos) son comunes.

Si usa este módulo, también revise Devel :: CoverX :: Covered . Este módulo capturará gran parte de la información que Devel :: Cover desecha. Es muy práctico.

Moritz explica cómo los módulos creados con Module :: Build pueden usar Devel :: Cover fácilmente.

Para los módulos que usan ExtUtils :: MakeMaker, existe un módulo de extensión para invocar la misma funcionalidad. Agregando el siguiente código antes de la llamada a WriteMakefile ():

eval "use ExtUtils::MakeMaker::Coverage";
if( !$@ ) {
    print "Adding testcover target\n";
}

... permitirá que se ejecute el comando 'make testcover' y que Devel :: Cover realice su magia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top