Этот вопрос связан с этим вопросом, который я задал прежде. У меня есть несколько тестовых файлов (A.t, B.t, C.t и т.д.) созданный для тестирования их соответствующего модуля A, B, C и и так далее. Но когда я делаю сделать тест, он запускает все тесты. Но, когда я работаю над определенным модулем, говорят, что B, я хотел бы выполнить модульные тесты на тот модуль. После того, как я буду сделан с моими изменениями, я выполню целый комплект.
Так есть ли любой способ сделать как make test B
, который запустит только тесты с помощью B.t? И когда я говорю, что некоторая вещь как "делает тест всеми", это запускает все тесты под "t" dir? Спасибо.
Я просто провожу тест, который хочу запустить:
% make; perl -Mblib t/B.t
Вы можете сделать то же самое с proof
.
Этот -Mblib
загружает модуль blib , который просто добавляет blib / lib (и различные специальные каталоги под ним) в @INC
для тебя. Поставляется с Perl. Докажите, что
должен делать то же самое с переключателем -b
.
Моя команда состоит из двух частей: make
(или ./ Build
для Module :: Build . Это создает исходный код и перемещает модули Perl и другие файлы в «библиотеку сборки» или blib в качестве промежуточного шага в полной установке. Обычно make test
работает с версиями в blib и обновляет Так как я тестирую самостоятельно, я обязательно обновляю blib и включаю его в путь поиска модуля Perl.
Несмотря на то, что я все это знаю, вы можете быть удивлены, что я часто забываю выполнить один из этих шагов и в конечном итоге проверяю неправильную версию, независимо от того, была ли установлена полностью старая версия (забыл -Mblib
) или старые исходники разработки (забыл make
). Это приводит меня к таким отладочным операторам, как:
print "No really, this is the Foo version. kthnxbye\n";