# foo.t use strict; use warnings; use Test::More; # don't put a plan here use t::Helper qw/multi_test/; # i.e. t/Helper.pm my @cases = ( { label => "describe this case", input => "data to operate on", output => "expected result", }, # ... repeat as needed ... ); # set plan after populating @cases my $tests_per_case = 2; plan tests => 1 + $tests_per_case * @cases; # start testing here require_ok( "Some::Object" ); for my $case ( @cases ) { my $obj = Some::Object->new; multi_test( $obj, $case ); }