Я заметил, что в Perl пользователь должен вставлять все тесты в каталог t. Как вы отделяете unit test от функциональных? Или, чтобы сделать вопрос более простым и очевидным, как вы отделяете тесты, которые быстро запускаются из тех, которые этого не делают? Когда все тесты выполняются вместе, тестирование занимает слишком много времени, чтобы регулярно использоваться при разработке, что очень жаль.
Я предположил, что могу установить некоторую переменную среды, например 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.