我如何模拟perl中的Exit行为?

时间:2013-04-23 10:17:06

标签: perl

假设其中一个PERL模块中有一个子程序检查 -

sub exam  
{  
    ....  
    ....  
    exit 0;  
}

我想为这个API编写测试用例 -

is('exam',0,"exam subroutine works properly");

但它不起作用,因为在exit 0之后,PERL脚本即将出现 所以我的问题是我们如何模仿退出的行为?

1 个答案:

答案 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