【发布时间】:2014-06-25 07:13:28
【问题描述】:
我正在使用Test::MockModule 来测试 perl 模块。其中一个调用需要检查$? 的状态以获取错误代码并对其进行程序检查。
如何模拟$?的结果
被测代码如下。
my $result = CCUtil::cleartool($cmd);
if ( $? != 0 ) {
confess "Stream $stream not found( $result) ";
}
api 返回字符串并设置 $?用于检查状态。
普通的方法调用和它们的返回值使用下面的方法改变
my $module = Test::MockModule->new('CCUtil');
$mockModule->mock(cleartool => sub {return 'stream not found'});
方法调用现在被模拟了。不是 --$?
【问题讨论】:
标签: perl unit-testing mocking