Quali sono alcuni strumenti di copertura del codice per Perl?
-
04-07-2019 - |
Domanda
Esistono strumenti validi (e preferibilmente gratuiti) di copertura del codice per Perl?
Soluzione
Sì, Devel :: Cover è la strada da percorrere.
Se sviluppi un modulo e usi Module :: Build per gestire l'installazione , hai persino un target testcover
:
perl Build.PL
./Build testcover
Esegue l'intera suite di test e crea un report di copertura combinato in un bel codice HTML, in cui è possibile sfogliare i moduli e guardarne la copertura.
Altri suggerimenti
Come al solito, CPAN è tuo amico: dai un'occhiata a Devel :: Cover
Come notato, Devel :: Cover è il tuo amico, ma anche tu dovresti cercarlo su Google. La sua documentazione è un po 'scarsa e se cambi radicalmente il tuo ambiente, dovrai reinstallarlo perché costruisce Develop :: Cover :: Inc con un mucchio di informazioni estratte dal tuo ambiente al momento dell'installazione. Questo ci ha causato molti problemi sul lavoro poiché abbiamo un ambiente CPAN condiviso e se uno sviluppatore installa Develop :: Cover e un altro sviluppatore tenta di eseguirlo, i risultati strani (e non corretti) sono comuni.
Se usi questo modulo, dai un'occhiata anche a Devel :: CoverX :: Covered . Questo modulo acquisirà gran parte delle informazioni che butta via via Develop :: Cover. È molto utile.
Moritz discute come i moduli creati con Module :: Build possano usare facilmente Develop :: Cover.
Per i moduli che utilizzano ExtUtils :: MakeMaker, esiste un modulo di estensione per invocare la stessa funzionalità. Aggiunta del seguente codice prima della chiamata a WriteMakefile ():
eval "use ExtUtils::MakeMaker::Coverage";
if( !$@ ) {
print "Adding testcover target\n";
}
... consentirà di eseguire il comando 'make testcover' e far sviluppare a Develop :: Cover la sua magia.