Указание TAP: использовать глобальные параметры
Я пишу несколько тестов, используя TAP::harness (и новичок в этом) для запуска под Jenkins. В процессе написания этих тестов я хочу сначала иметь возможность запускаться из командной строки и указывать некоторые дополнительные параметры.
Например, один из тестов установит наш проект. Это довольно длительный процесс, и я хотел бы пропустить этот тест установки (вместе с тестом удаления позже), чтобы ускорить выполнение промежуточных тестов.
Для этого я настроил исходный тестовый сценарий Perl, чтобы он принимал параметры (через GetOptions) и помещал его в глобальный (наш $noInstall). Печать в исходном тестовом сценарии показывает, что $noInstall установлена, но при запуске теста $noInstall не определена.
#!/usr/bin/perl
# unixIntegrationTest.pl
use strict;
use TAP::Harness::JUnit;
use Getopt::Long;
our $noInstall="";
GetOptions (
'n|no-install' => \$noInstall,
);
print("noInstall=$noInstall\n");
...
my @tests = (
[ 'unixInstall.t', 'Unix silent install' ],
[ 'unixUninstall.t', 'Unix silent uninstall' ],
);
$harness->runtests(@tests);
И в тесте:
#unixInstall.t
use Test::More;
use silentInstall;
use Cwd;
use File::Path;
plan tests => 1;
print("noInstall=$noInstall\n");
...
Результат теста показывает $noInstall как неопределенное.
Я пробовал всевозможные варианты, такие как обращение к $main::noInstall, но безрезультатно. Любые предложения о том, как это должно быть сделано? Благодарю.