Я заметил, что в Perl все тесты вставляются в каталог t . Как вы отделите модульный тест от функциональных? Или, чтобы сделать вопрос проще и понятнее, как вы отделяете тесты, которые выполняются быстро, от тестов, которые не выполняются? Когда все тесты выполняются вместе, тестирование занимает слишком много времени для обычного использования в разработке, что очень жаль.
Я подумал, что мог бы установить некоторую переменную окружения, такую как QUICK_TEST
и пропустить длинные тесты в соответствии с ее значением. Вы разделяете модульные и функциональные тесты? Как? (Это не голосование, я просто подумал, что, возможно, есть какое-то идиоматическое решение.)
Обновление: Пока я дошел до этого:
package Test::Slow;
use strict;
use Test::More;
BEGIN {
plan(skip_all => 'Slow test.') if $ENV{QUICK_TEST};
}
1;
И в соседнем .t
файле:
# This is a slow test not meant
# to run frequently.
use Test::Slow;
use Test::More;
Кажется, это работает хорошо.
P.S. Теперь доступно как Test :: Slow на CPAN.