Как я могу запустить только определенный тест в распределении Perl?

Этот вопрос связан с этим вопросом, который я задал прежде. У меня есть несколько тестовых файлов (A.t, B.t, C.t и т.д.) созданный для тестирования их соответствующего модуля A, B, C и и так далее. Но когда я делаю сделать тест, он запускает все тесты. Но, когда я работаю над определенным модулем, говорят, что B, я хотел бы выполнить модульные тесты на тот модуль. После того, как я буду сделан с моими изменениями, я выполню целый комплект.

Так есть ли любой способ сделать как make test B, который запустит только тесты с помощью B.t? И когда я говорю, что некоторая вещь как "делает тест всеми", это запускает все тесты под "t" dir? Спасибо.

14
задан Community 23 May 2017 в 12:25
поделиться

1 ответ

Я просто провожу тест, который хочу запустить:

 % 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";
15
ответ дан 1 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: