Mockery specifying expected arguments for multiple calls(为多个调用指定预期参数的嘲弄)
问题描述
I am trying to mock an object that gets two calls to the same function but with different arguments. It's pretty straight forward to give back different return values for multiple calls but I can't find anywhere how to do it with the argument validation.
I tried:
$this->eventDispatcher
->shouldReceive('dispatch')
->twice()
->with(Events::SELECT,Mockery::type('NotReallyANamespaceEvent'))
->with(Events::ACTIVITY,Mockery::type('NotReallyANamespaceEvent');
And
$this->eventDispatcher
->shouldReceive('dispatch')
->twice()
->with(
[Events::SELECT,Mockery::type('NotReallyANamespaceEvent')],
[Events::ACTIVITY,Mockery::type('NotReallyANamespaceEvent')]
);
But they don't work.
From the output PHPUnit gives me it seems like I'm getting an array?
Well that was fast ;P Apparently you can do this and it works just fine:
$this->eventDispatcher
->shouldReceive('dispatch')
->with(Events::SELECT,Mockery::type('NotReallyANamespaceEvent'));
$this->eventDispatcher
->shouldReceive('dispatch')
->with(Events::ACTIVITY,Mockery::type('NotReallyANamespaceEvent');
这篇关于为多个调用指定预期参数的嘲弄的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!