laravel 单元测试错误 'call to member function call() on null'
laravel unit testing error 'call to member function call() on null'
我想为表单 post 请求编写单元测试。
public function addForm(SaveFormRequest $request)
{
$this->servicelayer->addFormDetails($request->validated());
return redirect->route('register');
}
如何模拟 $request->validated();
以获得 FormRequest
class。
我在下面试试
$saveRequest = $this->createMock(SaveFormRequest::class);
但是我得到一个错误:
Error: call to a member function call()
on null.
提前致谢。
这真的很容易,你只是不mock
一个FormRequest
。您必须改为使用 功能测试 ,使用 $this->get
或 $this->post
或您需要的任何操作。
所以您只需将正确的参数传递给 route
,这样 FormRequest
就可以通过验证。这是测试它的唯一方法。
如果你解释你为什么要这样做,我可以扩展我的答案,因为我不知道你为什么要这样做...
我想为表单 post 请求编写单元测试。
public function addForm(SaveFormRequest $request)
{
$this->servicelayer->addFormDetails($request->validated());
return redirect->route('register');
}
如何模拟 $request->validated();
以获得 FormRequest
class。
我在下面试试
$saveRequest = $this->createMock(SaveFormRequest::class);
但是我得到一个错误:
Error: call to a member function
call()
on null.
提前致谢。
这真的很容易,你只是不mock
一个FormRequest
。您必须改为使用 功能测试 ,使用 $this->get
或 $this->post
或您需要的任何操作。
所以您只需将正确的参数传递给 route
,这样 FormRequest
就可以通过验证。这是测试它的唯一方法。
如果你解释你为什么要这样做,我可以扩展我的答案,因为我不知道你为什么要这样做...