2
http 요청에 대한 회귀 테스트를 작성하려고합니다. 카트/체크 아웃 컨트롤러입니다.laravel 테스트에서 세션 ID 설정
어떤 시점에서 컨트롤러는 요청의 세션 ID와 동일한 session_id
의 장바구니가 있는지 확인합니다. 다소 Cart::whereSessionId(session()->getId())->first()
과 같습니다.
불행히도 요청의 세션 ID는 실제 테스트를 위해 생성 된 것과 동일하지 않습니다. 즉, 공장을 사용하여 장바구니를 생성해도 $cart = factory(Cart::class)->create(['session_id' => session()->getId()])
이라는 레코드를 찾지는 못합니다.
요청에 대한 세션 ID는 어떻게 설정합니까?
불행히도 저에게는 효과가 없습니다. 컨트롤러에서 session() -> getId()를 호출해도 여전히 새로운 ID가 반환됩니다. – rzb
이상한, 나는 세션 드라이버로 redis와 file 모두에 동일한 id를 얻는다. 다른 해결책을 찾길 바랍니다. – piscator
감사. 그것은 실제로 당신을 위해 실제로 작동하지만 이상합니다. _token은 CSRF 토큰이며 세션 ID와 같지 않아야한다고 생각합니다. – rzb