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

我正在使用Test :: More模块.如果我有一个.t文件,一堆测试(主要使用ok());第一次失败后,如何让测试工具停止.我现在看到的是如果第一个OK失败;后续的ok()情况仍在运行.

我看着使用TEST :: More :: Bail_OUT;但是这将停止所有测试停止(意味着我拥有的其他.t文件),而不仅仅是测试停止特定的文件.

谢谢!

解决方法

调用done_testing()并退出.
ok( first_test(),'first test' ) or done_testing,exit;
ok( second_test(),'second test' );
...

在其他情况下,您可以使用具有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中得到支持.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...