Test::Skip::UnlessExistsExecutable - skips tests unless executable exists
テストを実行する際に、必要なプログラムが存在しなければ、テストをskipするモジュールを作ってました。Test::Requiresの実行プログラム版です。
http://github.com/dann/p5-test-skip-unlessexistsexecutable
# ExistsExetableという名前だと誤解を招くので、renameしてリリースし直しました。ExistsExecutableのほうは削除する予定です。
目的
目的は、以下のようなboilertemplateを書かなくてすむようにすることです。
Test::More; BEGIN { do_i_have_all_my_optional_deps() ? plan skip_all : plan tests => 42 }
使い方
使い方は、以下のとおりです。path指定とPATHに存在するプログラム名のいずれかを、渡すことができます。それらが存在しない時には、テストをskipします。
import版
use Test::More tests => 1; use Test::Skip::UnlessExistsExecutable qw( /usr/bin/rsync perl ); use_ok 'Mouse';
method版
use Test::More tests => 1; use Test::Skip::UnlessExistsExecutable; skip_all_unless_exists '/bin/sh'; skip_all_unless_exists 'perl'; ok 1;