Perl测试:如何在第一次失败后在单个文件中停止测试

Perl测试:如何在第一次失败后在单个文件中停止测试,perl,testing,Perl,Testing,我正在使用Test::More模块。如果我有一个包含大量测试的.t文件(主要使用ok());如何在第一次失败后停止测试用例。我现在看到的是,如果第一个ok失败;后续的ok()案例仍在运行中 我研究了如何使用Test::More::Bail\u OUT但这将停止所有测试以停止(意味着我拥有的其他.t文件),而不仅仅是停止特定文件的测试 谢谢 调用done\u testing()和exit ok( first_test(), 'first test' ) or done_testing, exit;

我正在使用
Test::More
模块。如果我有一个包含大量测试的
.t
文件(主要使用
ok()
);如何在第一次失败后停止测试用例。我现在看到的是,如果第一个ok失败;后续的
ok()
案例仍在运行中

我研究了如何使用
Test::More::Bail\u OUT
但这将停止所有测试以停止(意味着我拥有的其他
.t
文件),而不仅仅是停止特定文件的测试

谢谢

调用
done\u testing()
exit

ok( first_test(), 'first test' ) or done_testing, exit;
ok( second_test(), 'second test' );
...
在其他情况下,可以在带有
skip
标签的块内使用
skip
功能

SKIP: {
    ok( first_test ) or skip "useless to run the next 4 tests", 4;
    ok( second_test );
    ok( third_test );
    ok( fourth_test );
    ok( fifth_test );
}
ok( sixth_test );
done_testing();

skip/skip
的主要优点是它在较旧版本的
Test::More
中得到支持,以便更好地控制。也许
die\u on\u fail
可以满足您的需要。

跳过
skip
的主要优点是它不会声称只有最后一次测试失败。