tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

Test::Mock::ExternalCommand というモジュールを書いてみた

久々に Perl モジュールを書いてみました。

tsucchi's p5-Test-Mock-ExternalCommand at master - GitHub

外部コマンドの「ふり」をする物体をでっち上げるためのモジュールです。Synopsis も書きましたが、ここにも載せときましょう。こんな感じです。

use Test::Mock::ExternalCommand;
my $m = Test::Mock::ExternalCommand->new();
$m->set_command( 'my-command-aaa', 'command-output', 0);
# use 'my-command-aaa' in your test.
# for example, 
my $ret = system('my-command-aaa');
# or
my $command_output = `my-command-aaa`;

Nagios::Plugin 系なんかはコレを使うと書きやすくなるのではないか、と思います。つーかやってみよう。

あとは、set_command に subref を渡せると嬉しいかな、と個人的には思っています。それがいい感じで書けたら CPAN に うpしてみようと思ってます。