Запомните данные первого сеанса, очистите сеанс приложения, сделайте запрос «другого сеанса» и верните исходные данные сеанса обратно в приложение:
class HttpTest extends TestCase
{
public function testApplication()
{
// Suppose this endpoint creates a session and adds some data to it
$this->get('/action/fillSession');
$session = $this->app['session']->all();
$this->flushSession();
$this->get('/noSessionHere');
$this->flushSession();
$this->session($session);
// Suppose this endpoint reads the session data
$this->get('/action/readSession'); // The session data from the first request is available here
}
}
Вы можете выполнить этот алгоритмк отдельному способу его повторного использования легко:
class HttpTest extends TestCase
{
public function testApplication()
{
// Suppose this endpoint creates a session and adds some data to it
$this->get('/action/fillSession');
$this->asAnotherSession(function () {
$this->get('/noSessionHere');
});
// Suppose this endpoint reads the session data
$this->get('/action/readSession'); // The session data from the first request is available here
}
protected function asAnotherSession(callable $action)
{
$session = $this->app['session']->all();
$this->flushSession();
$action();
$this->flushSession();
$this->session($session);
}
}