indeed, this works fine. Some code for those that are curious:
in t/test_setup.pm:
package test_setup;
sub setup {
# setup your db or whatever here
}
1;
In a test module
require t::test_setup;
test_setup::setup();
Rather simple in fact. Works fine on 5.10
UPDATE: in fact - I am using this.
package test_setup;
sub setup {
# ...
}
BEGIN { # must be after the sub definition
setup();
$ENV{USE_TEST_DB} = 1;
}
1;
And in my Catalyst MyApp.pm class:
if ( $ENV{USE_TEST_DB} ) {
__PACKAGE__->config( 'Plugin::ConfigLoader' => { file => 'myapp_test
+.yml'} );
}
Now it is only necessary to "use" test_setup.pm. The setup is executed automatically, and the ENV variable causes the Catalyst app to use another config, which in turn connects to the test database in place of the normal development one.
|