嘲讽。在第 100 次调用时检查参数

Mockery. Check parameter on the 100-th call

我正在使用 MockeryLaravel 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();

可以吗?如果是,那怎么办?

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

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

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

               return true;
           }

           return false;
       })->getMock();