テストを漫然と書いても、網羅率の高いテストは書けません。「ふう。よく書けた」とおもって も、実はまだ網羅できてないところがあるものです。そんなわけで、網羅率をはかるために Devel::Cover をつかうとよいでしょう。
使い方は簡単です。
perl Makefile.PL
make test
するかわりに
perl Makefile.PL
HARNESS_PERL_SWITCHES=-MDevel::Cover=+ignore,inc make test
cover
または
perl Makefile.PL cover -test -ignore_re "^inc/"
とするだけ。
これで、モジュールのコードとt/以下のテスト内容を調べてカバレッジ率を出してくれます。
incをよけてるのはModule::Installのカバレッジを取っても仕方ないためです。
HTML が出力されるので、ブラウザでみるとよいでしょう。
なにはなくとも、subroutine coverage は 100% になるようにがんばるべきでしょう。
網羅率をたかめるというのは、楽しい作業ですが、油断していると目的を見失って網羅率を高めること自体が目的になりますから、注意が必要です。
Last modified: $Date: 2008-05-22T09:21:23.154313Z $