G'day,
Недавно я использовал perl-модуль Test :: Class для некоторого тестирования и столкнулся со странной проблемой.По сути, у меня есть базовый класс, унаследованный от Test :: Class
package Base::Class;
use base qw(Test::Class);
setup : Test(startup) {
# Create a DB from scratch
}
teardown : Test(shutdown) {
# DROP database
}
А затем у меня есть целая куча тестовых классов, наследующих этот базовый класс,
package Some::Class;
use base qw(Base::Class);
sub actually_relevant_tests { }
Но когда я запускаюмой тестовый скрипт:
use Some::Class;
Test::Class->runtests;
БД создается и сбрасывается ДВАЖДЫ?Один раз для базового класса и один раз для подкласса!Как избежать этого, если решение не будет уродливым?
Спасибо.
Редактировать: Самая близкая вещь к элегантности, которая у меня сейчас есть, -
use Test::Class;
my $object = Some::Class->new();
Test::Class->runtests($object);
package Some::Class;
use Base::Class;
sub actually_relevant_tests { }
Но вопрос остается открытым для лучших решений.