Пример для иллюстрации - это синопсис моего собственного Test::Version
.
use Test::More;
use Test::Version 0.04;
# test blib or lib by default
version_all_ok();
done_testing;
Мне не нужно включать скобки на done_testing();
Я могу просто назвать это. Однако, когда я попытался вызвать version_all_ok;
(обратите внимание: первая попытка в Dist:: Zilla:: Plugin:: Test:: Version завершилась с ошибкой) Я получаю сообщение об ошибке. Почему это?
Обновление Возможно, мой пример не так хорош, как я думал. Фактическая ошибка, которую я получил, -
Bareword "version_all_ok" not allowed while "strict subs" in use at t/release-test-version.t line 19.
и здесь полный код
#!/usr/bin/perl
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
require Test::More;
Test::More::plan(skip_all => 'these tests are for release candidate testing');
}
}
use 5.006;
use strict;
use warnings;
use Test::More;
eval "use Test::Version";
plan skip_all => "Test::Version required for testing versions"
if [email protected];
version_all_ok; # of course line 19, and version_all_ok() works here.
done_testing;
Ниже приведены соответствующие фрагменты, извлеченные из Test::Version 1.0.0
для экспорта.
use parent 'Exporter';
our @EXPORT = qw( version_all_ok ); ## no critic (Modules::ProhibitAutomaticExportation)
our @EXPORT_OK = qw( version_ok );