Я пишу модуль, который устанавливает общий файл в каталог dist, используя File :: ShareDir :: Install . Внутри основной экспортируемой функции в модуле файл затем располагается с помощью File :: ShareDir .
Эта функция загружает общий файл и ищет строку в файле. В одном из моих тестов я хотел проверить, вернула ли функция правильные значения для нескольких входных данных. Итак, тест выглядит так:
my @cases = (
[ 'input1' => 'expected1' ],
# etc
);
for my $case ( @cases ) {
my ($input, $expected) = @$case;
is(
my_lookup_function($input),
$expected,
"$input => $expected",
);
}
Однако тест не запускается, потому что
my $dir = dist_dir('My-Dist');
хрипит.
Мой Makefile.PL
кажется правильным, потому что я могу найти файл общего доступа в blib
. Я просто не знаю, что мне нужно сделать, чтобы получить вызов File::ShareDir::dist_dir
в моем модуле, чтобы найти этот каталог во время тестирования.
Я посмотрел на Test :: File :: ShareDir , но я не понимаю, можно ли его использовать для выполнения того, что я пытаюсь сделать.
Буду признателен, если вы скажете мне, как добиться желаемого поведения с текущей настройкой, или предложите способы сделать что-то по-другому (и предположительно правильно; -)