我想验证一下,是否在正确的时间使用正确的参数调用了Policy方法。
在我的控制器中,我调用$this->authorize('edit', $entry)
,并希望确保我的entryPolicy.class中的edit方法被调用。
我尝试了模拟门面,但失败了,因为在测试过程中我没有登录。 (单元测试,无功能测试)
我尝试使用Mockery模拟策略,但是由于模拟已被实例化并在测试运行时注册,因此忽略了模拟。 (或者我想)
最后,我尝试使用Gate Facade注册模拟的策略,该方法也不起作用
理想情况下,工作代码应如下所示:
$uut=\Mockery::mock(entryPolicy::class);
$uut->shouldReceive('update')->andReturn();
$controler->update($request, $entry);
非常感谢您的帮助