2008-10-23 18 views

Respuesta

21

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

Si desarrolla un módulo, y el uso de Module::Build para gestionar la instalación, incluso tiene un objetivo testcover:

perl Build.PL 
./Build testcover 

que corre todo el conjunto de pruebas, y hace un informe de cobertura combinada en Niza HTML, donde puede navegar a través de sus módulos y ver su cobertura.

28

Como de costumbre, CPAN es su amigo: Tener un vistazo a Devel::Cover

+0

No vincule a una versión específica de un módulo. Pruebe http://search.cpan.org/perldoc?Devel::Cover en su lugar. – cjm

+0

Mejor aún, use http://search.cpan.org/dist/Devel-Cover/ –

+0

¡Excelente sugerencia! Fijo. –

11

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

Si utiliza este módulo, también consulte Devel::CoverX::Covered. Este módulo capturará gran parte de la información que Devel :: Cover arroja. Es muy útil

5

Moritz explica cómo los módulos construidos 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. Añadiendo el siguiente código antes de la llamada a WriteMakefile():

eval "use ExtUtils::MakeMaker::Coverage"; 
if([email protected]) { 
    print "Adding testcover target\n"; 
} 

... permitirá a uno para ejecutar el comando 'hacer testcover' y tienen Devel :: Cubierta realizar su magia.

Cuestiones relacionadas