モダンPerl入門で、テストに入門してみた。その3 Test::Exception

Test::Exception というモジュールが出てきたので使い方を調べてみた。

Test::Exception

CPANからインストール

throws_ok
throws_ok { $foo->method } qr/division by zero/, 'zero caught okay';

与えた正規表現が標準エラーにマッチするかチェックする

throws_ok { $foo->method } "Error::Simple", 'simple error';

与えたクラス(またはサブクラス)が投げた例外かチェックする

dies_ok
dies_ok { $foo->method } 'expecting to die';

die されたかチェックする

lives_ok
lives_ok { $foo->method } 'expecting to live';

die されていないかチェックする

lives_and
lives_and { is $foo->method, 42 } 'method is 42';

例外が投げられず、テストが成功するかチェックする。