Laravel中的单元/功能测试在浏览器中返回500正常

时间:2019-07-02 11:56:17

标签: php laravel unit-testing phpunit tdd

我是第一次编写测试。

public function a_user_can_see_the_service_form()
{
    $response = $this->get('/service');
    $response->assertStatus(200);
    $response->assertSeeText('Details of the serviceman/woman');
    $response->assertSeeText('Save and continue');
}

这是我的测试,这是它调用的控制器功能,

    public function serviceChoiceSave(ServiceChoiceSave $request)
    {
        $validated = $request->validated();
//      if(null === $request->session()->get('reference')) {
//          $request->session()->put('reference', $this->_createReference($request->input('service')));
//      }

        $request->session()->put('service', $request->input('service'));
        //dd($request->session()->get('service'));
        return redirect('/service/death-in-service');
    }

基本上,控制器接受POST并将其放入会话中,在我的测试中,出现以下错误,

  

预期的状态码302,但收到500。

在我的日志中,

  

[2019-07-02 11:47:24]本地。错误:未根据请求设置会话存储。 {“ exception”:“ [对象](RuntimeException(code:0):未根据请求设置会话存储。

谁能告诉我原因,因为当我在浏览器中运行该应用程序时,它可以正常工作。

0 个答案:

没有答案