Test::Use v0.01/0.02

Test::Usesとかいう名前の方がよかったのかなと思いつつ(→結局Test::UseAllModulesにリネームした)、毎回t/01_load.tにモジュールを列挙するのがイヤになったので、MANIFESTでlib/以下にインストールするよう指示されているモジュール全部のuse_okテストをするモジュールを書いてみた。使い方はこんな感じ。

  use strict;
  use Test::UseAllModules;
  BEGIN { all_uses_ok(); }

テストしたくないモジュールがある場合は

  use strict;
  use Test::UseAllModules;
  BEGIN {
    all_uses_ok except => qw(
      Some::Dependent::Module
      Another::Dependent::Module
      ^Yet::Another::Dependent::.*   # you can use regex
    )
  }

こんな感じで。Test::Dependenciesと同じようにしようかとも思ったのですが、importをいじるのがめんどくさかったので除外条件は関数の方に書くようにしています。

h2xsでひな形つくったのにMakefile.PLを修正し忘れたのでv0.01は5.8.7以上が要求されるというタコ仕様ですが、そのうちv0.02に切り替わるはず。

http://search.cpan.org/dist/Test-UseAllModules/