设置和信息来重现问题。
对于测试环境,我使用LiipFunctionalTestBundle并(从DoctrineFixtures)生成一个假的SQLite数据库。它的配置是正确的-我已经成功地测试了我的非安全页面。
我使用以下视图在/secured/test下创建了一个简单的安全页面:
<h2 class="username">{{ app.user.username }}</h2>- [http://symfony.com/doc/master/cookbook/testing/http\_authentication.html](http://symfony.com/doc/master/cookbook/testing/http_authentication.html)
我想用这个断言来测试这个动作:
$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.
- [http://symfony.com/doc/master/cookbook/testing/simulating\_authentication.html](http://symfony.com/doc/master/cookbook/testing/simulating_authentication.html)
我想用这个断言来测试这个动作:
$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.
这些都不管用。出什么事了?
我尝试过很多其他的方法,但是
发布于 2013-05-24 17:08:12
这个问题的解决办法很简单:
在我的DoctrineFixtures中,我创建了新的用户。但他们的账户没有启用。
将此代码添加到夹具解决了以下问题:
$user->setEnabled(true);
$user->setExpired(false);
$user->setLocked(false);(由于我的测试试图登录未启用的帐户,对“提交登录表单”的响应被重定向到登录页面)
https://stackoverflow.com/questions/16738114
复制相似问题