I'm intrigued. Presumably the run_test sub can test a variety of methods in different packages, thus saving you some typing and giving you all the benefits that flow from Not Repeating Yourself.
Could you possibly share an example?
The benefits may be worth the tedium of having to type
$new = sub { return Foo->new(@_) };
run_test( $new );
Then again, Perl can save you this tedium by way of a wrapper for run_test. How about the following? (Untested.)
sub test_package_method {
my ($package, $method) = @_;
my $code_ref = sub{ return $package->$method() };
run_test( $code_ref );
}