2008-10-23 10 views

Odpowiedz

21

Tak Devel::Cover jest droga.

Jeśli opracować moduł i używać Module::Build zarządzać instalację, można nawet mieć testcover cel:

perl Build.PL 
./Build testcover 

który uruchamia cały zestaw testów, i sprawia, że ​​łączny raport pokrycia w ładnym HTML, gdzie możesz przeglądać swoje moduły i oglądać ich zasięg.

28

Jak zwykle CPAN jest twoim przyjacielem: Zapraszamy do obejrzenia Devel::Cover

+0

Nie należy łączyć z konkretną wersją modułu. Spróbuj http://search.cpan.org/perldoc?Devel::Cover zamiast tego. – cjm

+0

Jeszcze lepiej, użyj http://search.cpan.org/dist/Devel-Cover/ –

+0

Doskonała propozycja! Naprawiony. –

11

Jak już wspomniano, Devel :: Cover jest twoim przyjacielem, ale będziesz również chciał google. Jego dokumentacja jest trochę skąpa i jeśli zmienisz radykalnie środowisko, będziesz musiał ją przeinstalować, ponieważ tworzy ona program Devel :: Cover :: Inc z wieloma informacjami pobranymi z twojego środowiska podczas instalacji. To spowodowało wiele problemów w pracy, ponieważ mamy wspólne środowisko CPAN i jeśli jeden deweloper instaluje Devel :: Cover i inny programista próbuje go uruchomić, dziwne (i niepoprawne) wyniki są powszechne.

Jeśli korzystasz z tego modułu, sprawdź także Devel::CoverX::Covered. Ten moduł zawiera większość informacji, które Devel :: Cover wyrzuca. Jest bardzo przydatny.

5

Moritz omawia, w jaki sposób moduły zbudowane z Module :: Build mogą z łatwością korzystać z Devel :: Cover.

W przypadku modułów używających ExtUtils :: MakeMaker istnieje moduł rozszerzenia, który wywołuje tę samą funkcję. Dodanie następującego kodu przed wywołaniem WriteMakefile():

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

... pozwoli jeden uruchomić polecenie „make testcover” i mieć Devel :: Okładka wykonywać swoją magię.

Powiązane problemy