测试期间的Laravel模拟政策

时间:2019-04-09 15:17:16

标签: laravel testing mocking policy

我想验证一下,是否在正确的时间使用正确的参数调用了Policy方法。

在我的控制器中,我调用$this->authorize('edit', $entry),并希望确保我的entryPolicy.class中的edit方法被调用。

我尝试了模拟门面,但失败了,因为在测试过程中我没有登录。 (单元测试,无功能测试)

我尝试使用Mockery模拟策略,但是由于模拟已被实例化并在测试运行时注册,因此忽略了模拟。 (或者我想)

最后,我尝试使用Gate Facade注册模拟的策略,该方法也不起作用

理想情况下,工作代码应如下所示:

 $uut=\Mockery::mock(entryPolicy::class);
 $uut->shouldReceive('update')->andReturn();
 $controler->update($request, $entry);

非常感谢您的帮助

0 个答案:

没有答案