PerlCarp:承认单元测试



我正在尝试编写一个perl单元测试。我可以为它测试happy case场景。但是,如果方法中产生错误,它会使用Carp:confess "<message>"打印错误。在我的测试中我没能发现这个病例。我试过使用

dies_ok( <method call>, 'Expected Error' );

然而,测试用例仍然失败。它打印传递给Carp::告白的信息,然后打印

Looks like your test exited with 111 before it could output anything. Dubious, test returned 111 (wstat 28416, 0x6f00)

有办法让我抓住这个吗?我甚至尝试过throws_ok,但没有成功。

请指导我如何发现这些错误。我是否错误地使用了这些dies_okthrows_ok

您可以在eval表达式后检查$@。

use strict;
use warnings;
use Test::More;
use Carp qw(confess);
sub err { confess('Bad thing'); }
eval { err };
like($@, qr/^Bad thing/, "confess('Bad thing')");
done_testing();

相关内容

  • 没有找到相关文章

最新更新