假设其中一个PERL模块中有一个子程序检查 -
sub exam
{
....
....
exit 0;
}
我想为这个API编写测试用例 -
is('exam',0,"exam subroutine works properly");
但它不起作用,因为在exit 0
之后,PERL脚本即将出现
所以我的问题是我们如何模仿退出的行为?
答案 0 :(得分:7)
尝试使用Test::Exit
perl -le 'use Test::More tests => 2; use Test::Exit ; sub s1 { exit $_[0] }; exits_zero( sub{ s1(0)}, q{exit 0}); exits_ok(sub {s1(1)}, q{exit 1}); '
1..2
ok 1 - exit 0
ok 2 - exit 1