如果窗口,我如何跳过子测试中的所有测试?

时间:2011-02-17 09:51:31

标签: windows perl testing

我尝试了这个,但它似乎无法正常工作

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()在t / 02-MintingProfileCatalyst.t第46行不理解HASH(0x286f4cc)。     #Child(应该可执行的催化剂脚本)退出而不调用finalize() #失败测试“应该可执行的催化剂脚本” #at C:/strawberry/perl/lib/Test/Builder.pm第252行。 #测试已运行但未声明任何计划且未看到done_testing()。

所以我猜这不是哈希,不确定它是什么......最简洁的方法是什么? (p.s。我无法测试win32,我只有我的Linux盒子)

1 个答案:

答案 0 :(得分:4)

plan有两个参数,而不是hashref:

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

并非所有内容都使用Moose。 ; - )

注意:出于测试目的,您可以将eq更改为ne,因此它会跳过Linux机器上的测试。记得以后再改回来。