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