Frage

Gibt es gute (und vorzugsweise frei) Code-Coverage-Tools gibt für Perl?

War es hilfreich?

Lösung

Ja, Devel :: Abdeckung ist der Weg zu gehen.

Wenn Sie ein Modul entwickeln, und verwenden Sie Module :: Build- um die Installation zu verwalten Sie sogar ein testcover Ziel haben:

 perl Build.PL
 ./Build testcover

Das läuft die ganze Testsuite, und macht einen kombinierten Berichterstattung Bericht in schöner HTML, wo Sie durch die Module blättern und ihre Berichterstattung beobachten.

Andere Tipps

Wie üblich ist CPAN Freundes: Werfen Sie einen Blick auf Devel :: Abdeckung

Wie bereits erwähnt, Devel :: Abdeckung ist dein Freund, aber Sie werden für sie Google wollen, auch. Es ist Dokumentation etwas spärlich ist, und wenn Sie radikal Ihrer Umgebung ändern, müssen Sie es neu installieren müssen, weil es Devel baut :: Abdeckung :: Inc mit einem Bündel von Informationen aus Ihrer Umgebung zu der Zeit Sie es installieren gezogen. Dies hat viele Probleme für uns bei der Arbeit verursacht, wie wir eine gemeinsame CPAN Umwelt haben und wenn ein Entwickler Devel installiert :: Abdeckung und ein anderer Entwickler versucht zu laufen, seltsam (und falsche) Ergebnisse sind häufig.

Wenn Sie dieses Modul verwenden, auch Besuche Devel :: Coverx :: Covered . Dieses Modul erfassen wird ein Großteil der Informationen, die Devel :: Abdeckung wegwirft. Es ist sehr praktisch.

Moritz beschreibt, wie gebaut Module mit Module :: Build kann Devel verwenden :: Bespannung leicht.

Für Module mit ExtUtils :: Makemaker, ein Erweiterungsmodul besteht die gleiche Funktionalität aufzurufen. Hinzufügen von dem folgenden Code vor dem Aufruf von WriteMakefile ():

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

... ermöglicht eine um den Befehl auszuführen ‚machen testcover‘ und haben Devel :: Abdeckung seinen Zauber auszuführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top