我正在尝试使用mockmodule模拟对fork的调用。我将其设置如下...
my $mock = Test::MockModule->new('Foo');
$modMock->mock(fork => sub { print "here"; return 0; });
我的模块名为Foo.pm。我之前有过其他模块调用被加载到正在测试的模块中,通过模拟模块调用来解决这个问题似乎很有效。然而,我的模拟打印语句从未被执行(实际的fork被调用了)。
这是模拟系统调用(如fork)的正确方法吗?我应该加载不同于被测试系统的模块吗?
Carp::cluck()
而不是print()
。如果代码被调用,这将为您提供堆栈跟踪。话虽如此,我认为您定义的是$modMock->fork()
,我认为那不是您想要的。 - Barton Chittenden