今後のLaravel4フレームワークを使用してアプリを構築しています。そのための単体テストを書きたいと思います。アプリはセッションを使用します。したがって、すべてを適切にテストするには、ユーザー状態を再作成する必要があります。
これが私がやりたいことです:
User::login($user); // updates the session
$crawler = $this->client->request('GET', 'http://myapp.dev/');
$this->assertTrue($this->client->getResponse()->isOk());
$this->assertCount(1, $crawler->filter("#logout-button"));
ただし、$this->client->request
セッションが伝播されないように、新しい要求を作成します。
セッションはテストで利用可能です。ただし、$ this-> client-> request('GET'、'something')を使用すると、配列ドライバーを使用するため、その要求のセッションは存在しなくなります。ファイルドライバーを使用することはできますが、カスタムセッションIDをリクエストに送信するにはどうすればよいですか?
どうすればこれを解決できますか?偽のCookieを介してセッションIDを渡すことはできますか?または、何らかの方法でセッションオブジェクトを渡しますか?