使用Test::More模块。如果我有一个包含一堆测试的.t文件(主要使用ok()),我如何在第一次失败后停止测试用例?我现在看到的是,如果第一个ok失败,后续的ok()案例仍在运行。我看过使用Test::More::Bail_OUT;,但这将停止所有测试停止(意味着其他.t文件我有),而不仅仅是测试停止特定的文件。
Test::More
.t
ok()
ok
Test::More::Bail_OUT;
ibrsph3r1#
Test::More POD提到了Test::Most,以便更好地控制。也许die_on_fail可以满足您的需要。
die_on_fail
ecr0jaav2#
调用done_testing()和exit。
done_testing()
exit
ok( first_test(), 'first test' ) or done_testing, exit; ok( second_test(), 'second test' ); ...
在其他情况下,您可以在带有SKIP标签的块内使用skip函数。
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中得到支持。
skip/SKIP
2条答案
按热度按时间ibrsph3r1#
Test::More POD提到了Test::Most,以便更好地控制。也许
die_on_fail
可以满足您的需要。ecr0jaav2#
调用
done_testing()
和exit
。在其他情况下,您可以在带有
SKIP
标签的块内使用skip
函数。skip/SKIP
的主要优点是它在旧版本的Test::More
中得到支持。