Hap*_*per 6 php testing symfony
我找不到任何关于此的文档.
我正在使用客户端对象向/ login发送请求,填写表单并提交.这工作正常,但我得到302响应/登录,好像凭据不正确.
在任何情况下,我认为在第一个请求之后会话表中至少应该有一行,但是没有.怎么可能?
有什么想法吗?
编辑:这是代码:
// Go to login page
$client = $this->createClient();
$crawler = $client->request('GET', '/login');
$this->assertTrue($crawler->filter('html:contains("Username")')->count() > 0);
// Fill in the form and submit it
$form = $crawler->selectButton('login')->form();
$form['_username'] = 'admin';
$form['_password'] = 'admin';
$client->submit($form);
$this->assertEquals(302,$client->getResponse()->getStatusCode());
$this->assertFalse($client->getResponse()->isRedirect('http://localhost/login'));
Run Code Online (Sandbox Code Playgroud)
最后一个断言失败了
您应该使用 http 基本身份验证创建一个新的防火墙:
安全:
...
防火墙:
功能测试:
模式:/安全/.*
无状态:正确
http_基本:
提供商:提供商名称
...
然后创建一个像这样的客户端:
$client = $this->createClient(array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'password',
));
Run Code Online (Sandbox Code Playgroud)
编码愉快!