perl 如何在第一次失败后停止单个文件中的测试?

soat7uwm  于 2023-05-29  发布在  Perl
关注(0)|答案(2)|浏览(167)

使用Test::More模块。如果我有一个包含一堆测试的.t文件(主要使用ok()),我如何在第一次失败后停止测试用例?
我现在看到的是,如果第一个ok失败,后续的ok()案例仍在运行。
我看过使用Test::More::Bail_OUT;,但这将停止所有测试停止(意味着其他.t文件我有),而不仅仅是测试停止特定的文件。

ibrsph3r

ibrsph3r1#

Test::More POD提到了Test::Most,以便更好地控制。也许die_on_fail可以满足您的需要。

ecr0jaav

ecr0jaav2#

调用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中得到支持。

相关问题