Как пропустить все тесты в подтесте, если окна? - PullRequest
1 голос
/ 17 февраля 2011

Я пробовал это, но, похоже, не работает

subtest 'catalyst scripts that should be executable' => sub {
    plan({ skip_all => 'skip failing executable tests on windows' }) if $^O eq 'MSWin32';
    my $should_exec =  [ @{ $dzpcs->scripts } ];

    foreach ( @{ $should_exec } ) {
        ok  ( -x $_ , "$_" . ' is executable' );
    }
};

Вот что я получил в своем отчете cpants.

plan () не понимает HASH (0x286f4cc) в строке t / 02-MintingProfileCatalyst.t 46. # Child (сценарии катализатора, которые должны быть исполняемыми) завершился без вызова finalize () # Неудачный тест «катализаторные скрипты, которые должны быть исполняемыми» # в C: /strawberry/perl/lib/Test/Builder.pm строка 252. # Были проведены тесты, но план не был объявлен, а done_testing () не был замечен.

Так что я думаю, что это не хеш, не совсем уверен, что это тогда ... какой самый чистый способ сделать эту работу? (p.s. Я не могу протестировать win32, у меня есть только Linux)

1 Ответ

4 голосов
/ 17 февраля 2011

plan принимает два параметра, а не хеш-код:

plan( skip_all => 'skip failing executable tests on windows' ) if $^O eq 'MSWin32';

Не все используют Лось . ; -)

Примечание: в целях тестирования вы можете изменить eq на ne, поэтому тесты на вашем Linux-компьютере будут пропущены. Просто не забудьте поменять его потом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...