如何在Laravel 5.1嘲笑表格只要求在authorize()方法?

问题描述 投票:0回答:1

我们通过使用FormRequest的实现资源的所有权和/或输入验证。我们的控制器测试是功能测试,所以我们不嘲笑Request但使用$this->call($method, $url, $params, ...)

问题是,FormRequestRequest的子类。有没有一种方法来嘲笑只有authorize()方法,但保持Request对象的其余部分非嘲笑?

如果是这样,怎么样?我已经尝试过用Mockery部分嘲弄和它要么没有工作或我做错了。

$this->mock(\Namespace\Http\Requests\CustomRequest::class . '[authorize]')
    ->shouldReceive('authorize')
    -> .......
unit-testing laravel mocking laravel-5 laravel-5.1
1个回答
0
投票

PHPUnit的使用嘲讽的系统,而不是嘲弄。

$request = $this->getMock(\Namespace\http\Requests\CustomRequest::class, ['authorize']);
$request->expects($this->once())->method('authorize')->willReturn(true);

希望能帮助到你;

© www.soinside.com 2019 - 2024. All rights reserved.