Question

Existe-t-il des outils de couverture de code efficaces (et de préférence gratuits) pour Perl?

Était-ce utile?

La solution

Oui, Devel :: Cover est la voie à suivre.

Si vous développez un module et utilisez Module :: Build pour gérer l'installation , vous avez même une cible testcover :

 perl Build.PL
 ./Build testcover

Cela exécute toute la suite de tests et crée un rapport de couverture combiné au format HTML agréable, dans lequel vous pouvez parcourir vos modules et en regarder la couverture.

Autres conseils

Comme d'habitude, CPAN est votre ami: consultez Devel :: Cover .

Comme indiqué, Devel :: Cover est votre ami, mais vous voudrez également le rechercher sur Google. Sa documentation est un peu clairsemée et si vous modifiez radicalement votre environnement, vous devrez le réinstaller car il crée Devel :: Cover :: Inc avec une foule d'informations extraites de votre environnement au moment de son installation. Cela a causé beaucoup de problèmes pour nous au travail car nous avons un environnement CPAN partagé et si un développeur installe Devel :: Cover et qu'un autre développeur essaie de l'exécuter, des résultats étranges (et incorrects) sont fréquents.

Si vous utilisez ce module, consultez également Devel :: CoverX :: Covered . Ce module capturera une grande partie des informations que Devel :: Cover élimine. C'est très pratique.

Moritz explique comment les modules construits avec Module :: Build peuvent facilement utiliser Devel :: Cover.

Pour les modules utilisant ExtUtils :: MakeMaker, un module d'extension existe pour appeler la même fonctionnalité. Ajout du code suivant avant l'appel à WriteMakefile ():

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

... autorisera l'exécution de la commande 'make testcover' et permettra à Devel :: Cover de réaliser sa magie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top