Test::MethodName メソッド名をちぇっくちぇっくちぇっく
Test::NoLoad check_no_load
とかいうメソッド書いた翌日に check_xxx がなんでダメなのか とかいうエントリーが TL に流れてきて涙目になった bayashi ですこんばんわー~。
涙でエディタが見えなくて苦労しましたが、じゃあ、ってんで 「check_XXX っていうメソッドダメ!」 みたいなのをテストできるモジュール書いてみました。
https://github.com/bayashi/Test-MethodName
use Test::MethodName;
all_methods_ok(
'MyApp' => sub {
my $method = shift;
return ( $method =~ m!check! ) ? undef : 'pass';
},
);
MyApp 以下のモジュールすべてのメソッド名に対して、コードリファレンスを実行します。
実行結果は Test::More の ok
に渡されます。
ついでに、一個のモジュールだけをテストする method_ok($module => sub { 'pass' })
もあります。
Perl::Critic::Policy とかでやる方がいいかなーとか思いましたが、ちゃちゃっと書けなかったので、いくつかのモジュールからコードを拝借してゴリっと書いてみました。
たぶんどっかにあるような気もする。