我尝试了这个,但它似乎无法正常工作
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盒子)
答案 0 :(得分:4)
plan
有两个参数,而不是hashref:
plan( skip_all => 'skip failing executable tests on windows' ) if $^O eq 'MSWin32';
并非所有内容都使用Moose。 ; - )
注意:出于测试目的,您可以将eq
更改为ne
,因此它会跳过Linux机器上的测试。记得以后再改回来。