読者です 読者をやめる 読者になる 読者になる

itochin2の日記(仮)

主に備忘録。Perl、MySQL、Unity、開発管理などについて情報を残していきたい。

Test::Stubを使ってみた

第23回 Perlアプリケーションのテストと高速なCI環境構築術(1):Perl Hackers Hub|gihyo.jp … 技術評論社
この記事みて、Test::Stub、これは便利そうだ!と思ったので使ってみた。

ためしたサンプル

指定したURLに応じて結果を変えることができるから
複数のAPIを実行するメソッドのテストも捗りそう。
api/loginは成功したけど、api/profileは失敗してしまったパターンとか。

あとCPANSYNOPSISに書いてる別の書き方

# simple style
my $agent = LWP::UserAgent->new();
make_stub($agent, 'get', HTTP::Response->new(200, "OK"));
is($agent->get('http://www.aiseikai.or.jp/')->code, 200);

これやったら

Not a SCALAR reference at local/lib/perl5//Test/Stub.pm line 27.

って出たので、リファレンス渡すようにすればOKだった。
make_stub(\$agent, 'get', HTTP::Response->new(200, "OK"));