Domanda

Esistono strumenti validi (e preferibilmente gratuiti) di copertura del codice per Perl?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top