Test::More で teardown/setup
http://blog.ainam.me/2013/04/09/test-more-perl-testing/ http://lestrrat.ldblog.jp/archives/26535307.html
package t::Util; use parent qw(Exporter); our @EXPORT = qw(lovetest $MOCK); use Test::More; sub lovetest { # setup local $MOCK = ...; # teardown は guard object で。 goto \&Test::More::subtest; }
そしてテストケースはこう。
lovetest 'foo' => sub { ... $MOCK->do_something; };
というのがここ数年はブーム。
Test::Class も最近はだいぶ使いやすくなっているので、選択肢としてはありだとおもいます。