Test::Aggregate can aggregate *.t tests to make them run faster.
SYNOPSIS
use Test::Aggregate;
my $tests = Test::Aggregate->new( {
dirs => $aggregate_test_dir,
} );
$tests->run;
WARNING: this is ALPHA code. The interface is not guaranteed to be stable.
A common problem with many test suites is that they can take a long time to run. The longer they run, the less likely you are to run the tests. This module borrows a trick from Apache::Registry to load up your tests at once, create a separate package for each test and wraps each package in a method named run_the_tests. This allows us to load perl only once and related modules only once. If you have modules which are expensive to load, this can dramatically speed up a test suite.
USAGE
Create a separate directory for your tests. This should not be a subdirectory of your regular test directory. Write a small driver program and put it in your regular test directory (t/ is the standard):
use Test::Aggregate;
my $other_test_dir = 'aggregate_tests';
my $tests = Test::Aggregate->new( {
dirs => $other_test_dir
});
$tests->run;
Take your simplest tests and move them, one by one, into the new test directory and keep running the Test::Aggregate program. You'll find some tests will not run in a shared environment like this. You can either fix the tests or simply leave them in your regular test directory. See how this distribution's tests are organized for an example.
Product's homepage
Requirements:
· Perl