0

我正在Mockery使用Laravel 5.6. 目前我需要检查第 100 次通话中传递了什么。

这是我要执行的示例检查。

Mockery::mock(ShopifySDK::class)
       ->shouldReceive('get')
       ->with(['key' => 'val']) //I need to check passed array on the 100-th call of the "get" method
       ->getMock();

有可能做到吗?如果是,那该怎么做?

4

1 回答 1

0

感谢@NigelRen 这是我找到的解决方案。有点丑,但对我来说已经足够了。

Mockery::mock(ShopifySDK::class)
       ->shouldReceive('get')
       ->withArgs(function ($params) {
           static $counter = 0;

           if ($counter++ === 100) {
               //checks...

               return true;
           }

           return false;
       })->getMock();
于 2018-07-16T19:01:56.587 回答