Напишите модуль, как продемонстрировал rjh. Поместите его в t / lib / Test / YourThing.pm, тогда его можно загрузить как:
use lib 't/lib';
use Test::YourThing;
Или вы можете поместить его прямо в t / Test / YourThing.pm, назвать его package t::Test::YourThing
и загрузить как:
use t::Test::YourThing;
Преимущество состоит в том, что нет необходимости записывать строку use lib
в каждый тестовый файл и четко идентифицировать его как локальный тестовый модуль. Нижняя сторона загромождает т /, она не будет работать, если "." находится не в @INC
(например, если вы запускаете свои тесты в режиме taint, но это можно обойти с помощью use lib "."
), и если вы решите удалить файл .pm из своего проекта, вам придется переписать все использует. Ваш выбор.