4

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

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

我想为此 API 编写测试用例,例如-

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

但它不起作用,因为之后exit 0,PERL 脚本出来了。
所以我的问题是我们如何模拟退出的行为?

4

1 回答 1

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
于 2013-04-23T10:55:41.753 回答