如何在perl中模拟退出行为?

如何在perl中模拟退出行为?,perl,Perl,假设其中一个PERL模块中有一个子例程检查- sub exam { .... .... exit 0; } 我想为这个API编写测试用例,比如- is('exam',0,"exam subroutine works properly"); 但它不起作用,因为在退出0之后,PERL脚本就出来了。 因此,我的问题是,我们如何模拟退出行为?尝试使用 分叉一个新流程并退出该流程 perl -le 'use Test::More tests =&g

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

sub exam  
{  
    ....  
    ....  
    exit 0;  
}
我想为这个API编写测试用例,比如-

is('exam',0,"exam subroutine works properly");
但它不起作用,因为在退出0之后,PERL脚本就出来了。
因此,我的问题是,我们如何模拟退出行为?

尝试使用


分叉一个新流程并退出该流程
    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