Hatena::Groupsubtech

NaN days

ブログを移転しています。最新の記事は motemen.hatenablog.com へどうぞ

2011-10-03

Test::Class と Test::Base を同時に使う

| 19:34 | Test::Class と Test::Base を同時に使う - NaN days を含むブックマーク はてなブックマーク - Test::Class と Test::Base を同時に使う - NaN days

Test::Base はたくさんのテストを書かなきゃいけない時にとても便利だし Test::Class はテストをメソッドで小分けできて、また散らばったテストファイルを一つのプロセスでまとめて実行できるので、重宝してます。

で Test::Base は便利さのためにいろいろなことをやっているので、当然そのままでは Test::Class から使うことはできないのだけど、いくつか工夫すればとりあえず使えそうな感じになった。

https://gist.github.com/1258834

やっていることは

  • Test::Base が自動で plan() しないように Test::Builder::plan() を呼ぶ
  • __DATA__ が読めないので spec_string で指定する

plan() のあたりが無理してる感あります。

__PACKAGE__->runtests if $0 eq __FILE__ は単独のテストファイルとして呼ばれた場合はテストを実行して、require された場合は何もしない (あとで Test::Class->runtests とかでまとめて実行される) というねらいです。