如何在perl中打印发送给Mock::对象的参数?
我有一个模拟对象如何在perl中打印发送给Mock::对象的参数?,perl,unit-testing,mocking,arguments,Perl,Unit Testing,Mocking,Arguments,我有一个模拟对象 my $myMockObject = Test::MockObject->new(); 如果我调用$myMockObject->myFunction(“我的参数”) 。。。是否有从模拟对象中提取“我的参数”,以测试传递给模拟对象的参数是否正确 看起来方法next\u call()、call\u args、call\u args\u string、call\u args\u pos可能会有所帮助,但我无法让它工作 谢谢 您可以为myFunction(实际上是一种方法)提供
my $myMockObject = Test::MockObject->new();
如果我调用$myMockObject->myFunction(“我的参数”)代码>
。。。是否有从模拟对象中提取“我的参数”
,以测试传递给模拟对象的参数是否正确
看起来方法next\u call()、call\u args、call\u args\u string、call\u args\u pos
可能会有所帮助,但我无法让它工作
谢谢 您可以为myFunction
(实际上是一种方法)提供任何实现,因此您还可以将参数存储在某个地方以供测试。比如:
use Test::More;
use Test::MockObject;
my $mock = Test::MockObject->new();
my $arg;
$mock->mock(myFunction => sub {
my $self = shift;
($arg) = @_
});
$mock->myFunction("my argument");
is $arg, "my argument", 'correctly passed argument';
done_testing;
您可以为myFunction
(实际上是一种方法)提供任何实现,因此您还可以将参数存储在某个地方以供测试。比如:
use Test::More;
use Test::MockObject;
my $mock = Test::MockObject->new();
my $arg;
$mock->mock(myFunction => sub {
my $self = shift;
($arg) = @_
});
$mock->myFunction("my argument");
is $arg, "my argument", 'correctly passed argument';
done_testing;