Subject: | Setup/Startup Methods Can't Be Overridden |
Startup/setup methods in base classes that are overridden by subclasses
are still called. For example:
package PigTest;
use base 'Test::Class';
sub startup : Test(startup)
{
$self->{fixture} = PigService->create($argz)
}
sub eats : Test { }
package PorkyPigTest;
use base 'PigTest';
sub startup : Test(startup)
{
$self->{fixture} = PorkyPigService->create($argz)
}
sub talks : Test { }
PigService will be called when running the PorkyPigTest.
Of course this is simple to fix, but it's surprising and unintuitive.
-Skye