2
httpリクエストの回帰テストを作成しようとしています。それはカート/チェックアウトコントローラです。laravelテストでセッションIDを設定する
コントローラは、ある時点で、session_id
のカートがリクエストのセッション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
ありがとうございます。それは実際にあなたのために働くことは奇妙です。 _トークンはCSRFトークンであり、私はセッションIDと同じであるべきではないと思います。 – rzb