Test::Tester

以前テストライブラリのテストを書く際に、Test::Builder::Testerがつかえる、という記事を書いたが、Test::Builder::Testerは、テストの失敗の文字列を一字一句かえないように調整したりするのが、ダルいなぁ、というのがあったりして、もっとよいやつを探していたら、Test::Testerというモジュールをみつけたので、紹介。

Test::TesterのTest::Builder::Testerより良い点としては、

  • local $Test::Builder::Level = $Test::Builder::Level + 1しているかのチェックが意識せずに基本的にされる点
  • テスト用の処理がコンパクトにまとめられるインターフェース(check_test)

あたりが個人的には良いかな、と思いました。

どちらのモジュールにせよ、ややトリッキーなことをして実現している面はあるので、テストのファイルは独立させておき、Test::Moreの比較的新しい機能であるsubtest内とかではやらない方が無難なようです。