Symfony2: After success login event, perform set of actions でアドバイスされているように、アプリ全体で使用される 1 つのセッション変数を設定するために security.interactive_login イベントにリスナーを実装しました。問題は、機能テストで security.interactive_login イベントが発生しないことです (実際の対話型ログインがないため、これは論理的だと思います)。この制限がある場合: ユーザーのログイン時にセッション変数を設定して機能テストを実行するにはどうすればよいですか?
2 に答える
1
基本認証を使用する場合、テストのためにイベントハンドラーを最終的に手動で起動できますが、より適切な方法は、クライアントで送信してログインフォームからアプリにログインすることだと思います-イベントリスナーはそのように起動する必要があります。
于 2012-10-31T13:28:00.987 に答える
0
回避策の詳細を説明するために:
機能テストケースで変更しました
$client = static::createClient(array(), array(
'PHP_AUTH_USER'=>'alberto'
,'PHP_AUTH_PW'=>'********'
)
);
為に
$client = static::createClient();
$crawler = $client->request('GET','/secured/login');
$form = $crawler->selectButton('Aceptar')->form();
$form['_username'] = 'alberto';
$form['_password'] = '********';
$crawler = $client->submit($form);
于 2012-11-05T20:05:24.820 に答える