use Foo::Test::LogMessages; my $log = Foo::Test::LogMessages->new; sub TEST_WHICH_HAS_LOG_OUTPUT { # do something $log->capture_log_only_for_this_scope; is($log->message, qw/some message/, '... and we should have an error'); } sub TEST_WHICH_DOES_NOT_HAVE_LOG_OUTPUT { # do something }