gpt4 book ai didi

symfony2 测试 flashbag 或 session 数据

转载 作者:行者123 更新时间:2023-12-04 12:19:47 24 4
gpt4 key购买 nike

您如何测试 FlashBag 消息?

试过这个:

public function testInvalidLogin()
{
$session = $this->client->getContainer()->get('session');
$crawler = $this->client->request('GET', '/login');

$this->assertTrue($this->client->getResponse()->isSuccessful());
$form = $crawler->filter('form');
$this->assertGreaterThan(0, $form->count());

$form = $form->form();
$this->assertNotEmpty($form);

$form['_username'] = 'username';
$form['_password'] = 'password';

$this->client->submit($form);
$this->assertTrue($this->client->getResponse()->isRedirect('http://localhost/login'));
$this->client->followRedirect();

$session = $this->client->getContainer()->get('session');
var_dump($session->getBag('flashes')->all()); // this print an empty array
}

登录 Controller 设置了一条闪存消息“凭据错误”,但在测试期间我看不到它。

最佳答案

可能是因为在您重定向后,您正在弹出 Flash 消息,例如。在您的模板中的某处。快闪袋容器在您拨打电话后立即移除快闪讯息get方法(有待指定 - 在 get 方法中实现删除...)。如果您只想获取消息而不弹出它,您应该使用 peek方法。

我猜如果你搬家 var_dump之前 followRedirect那么你会得到你期望的结果。

关于symfony2 测试 flashbag 或 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18672949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com