Указание 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, но безрезультатно. Любые предложения о том, как это должно быть сделано? Благодарю.

0 ответов

Другие вопросы по тегам