为了测试环境,我使用LiipFunctionalTestBundle并生成(来自DoctrineFixtures)伪造的SQLite数据库。它配置正确 - 我已经能够成功测试我的非安全页面。
我使用此视图在/secured/test
下创建了一个简单的受保护页面:
<h2 class="username">{{ app.user.username }}</h2>
我尝试过
我想用这个断言来测试这个动作:
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'myUserName'
'PHP_AUTH_PW' => 'password',
));
$crawler = $client->request('GET', '/secured/test');
$count = $crawler
->filter('h2.username:contains("myUserName")')
->count();
$this->assertTrue($count > 0);
结果是Failed asserting that false is true.
我尝试过
我想用这个断言来测试这个动作:
$this->logIn();
$crawler = $this->client->request('GET', '/secured/test');
$count = $crawler
->filter('h2.username:contains("myUserName")')
->count();
$this->assertTrue($count > 0);
当然我将logIn功能更改为不同的用户名。
结果是Failed asserting that false is true.
我尝试了很多其他方法,但是
答案 0 :(得分:2)
问题的解决方案非常简单:
在我的DoctrineFixtures中,我创建了新用户..但他们的帐户未启用。
将此代码添加到fixture中解决了问题:
$user->setEnabled(true);
$user->setExpired(false);
$user->setLocked(false);
(因为我的测试试图登录未启用的帐户,“提交登录表单”的响应被重定向到登录页面)