我正在使用Test :: More模块。如果我有一个带有一堆测试的.t文件(主要使用ok());如何在第一次失败后使测试用例停止。我现在看到的是,如果第一个确定失败;后续的ok()案例仍在运行。
我看了使用TEST :: More :: Bail_OUT;但这将阻止所有测试停止(意味着我有其他.t文件),而不是仅仅测试停止特定文件。
谢谢!
答案 0 :(得分:10)
Test::More POD提到Test::Most以便更好地控制。也许die_on_fail
可以满足您的需求。
答案 1 :(得分:9)
致电done_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
的旧版本支持它。