問題を再現するためのセットアップと情報
- Symfony2.2 アプリケーション
- LiipFunctionalTestBundle
- DoctrineFixturesバンドル
- FOSUserBundle
環境をテストするために、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);
もちろん、ログイン機能を別のユーザー名に変更しました。
結果はFailed asserting that false is true.
これらの作品のどれも。どうしたの?
他の方法も色々試しましたが、