【问题标题】:laravel unit testing error 'call to member function call() on null'laravel 单元测试错误'在 null 上调用成员函数 call()'
【发布时间】:2021-11-05 19:14:07
【问题描述】:

我想为表单发布请求编写单元测试。

public function addForm(SaveFormRequest $request)
{
    $this->servicelayer->addFormDetails($request->validated());

    return redirect->route('register');
}

我如何模拟 $request->validated();FormRequest 类。

我在下面试试

$saveRequest = $this->createMock(SaveFormRequest::class);

但我得到了一个错误:

错误:在 null 上调用成员函数 call()

提前致谢。

【问题讨论】:

    标签: php laravel unit-testing phpunit laravel-unit-test


    【解决方案1】:

    这真的很简单,你只是不要mockFormRequest。您必须改为使用$this->get$this->post 或任何您需要的操作进行功能测试

    所以您只需将正确的参数传递给您的route,这样FormRequest 就可以通过验证。这是唯一的测试方法。

    如果您解释为什么要这样做,我可以扩展我的答案,因为我不知道您为什么要这样做...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-19
      • 2020-06-08
      • 2021-09-08
      • 2018-09-06
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-08-21
      相关资源
      最近更新 更多