昔々、subtest と Hook::LexWrap を使って xUnit みたいな setUp, tearDown をするというのを書いてたのですが、もっとシンプルで良い感じなのができたのでご紹介。 ほぼほぼ、@lestrratさんのRe: “Test::Moreのsubtestのテストはどう書くのが一番きれいなのか” のパクリなんですけどね。 subref でやる方が、柔軟性は高いと思うのですが、setup は一つのテストファイルで共通化しといた方が良い、というか、共通化できないのはやばいので、subref にするのはやりすぎかなぁ、と思ったので、普通のサブルーチンにしてみた感じです。 use strict; use warnings; use Scope::Guard; use Test::More; BEGIN { # startup の代わり diag "startup\n";