If your Test Case is a package whose goal is to test all aspects of a particular class then a Test Suite is something which kicks off a collection of related Test Cases. As with most things in Test::Unit it’s really easy to do and also terribly documented. So, without further ado…
You need something to kick off all your tests:
-----------------------
use Test::Unit::HarnessUnit;
use My::Test::Suite::Package;
my $testrunner = Test::Unit::HarnessUnit->new();
$testrunner->start("My::Test::Suite::Package");
-----------------------
Next you need the test suite it’s going to kick off:
-----------------------
package My::Test::Suite::Package;
use base qw/Test::Unit::TestSuite/;
# returns an array of the fully qualified names of the TestCase
# based classes you wish to run.
sub include_tests() {
return ('Some::Test::Case',
'Some::Test::Case2',
'Some::Test::Case3);
}
1;
-----------------------
That’s it. Happy testing.