PHPUnit

【PHPUnit】のclient->request()メソッドで送信するヘッダーを追加したい際の注意。

PHP側で正しくヘッダーを捕捉させたい場合はヘッダ名に「HTTP_」のプレフィックスをつけてやる必要がある。

例)
X-XSRF-TOKENという名前のヘッダーを送信したい場合。

$this->client->request(
    $method,
    $uri,
    [], // parameters
    [], // files
    ['HTTP_X-XSRF-TOKEN' => $token]
);

こんな感じ。

 

【PHPUnit】はじめてのPHPUnit。

はじめてテスト書くときに参考にしました。

http://qiita.com/imunew/items/39ac9283d030a8c4f9d4

 

【Symfony2.3】テストでログイン状態をシミュレートする。

公式にわかりやすい例を見つけたのでペタリ。

http://symfony.com/doc/current/cookbook/testing/simulating_authentication.html

基本的にこのまま書けばログインは可能。
実際にはUsernamePasswordTokenクラスのインスタンスを生成する際、
第1引数にユーザーエンティティをセットしたほうがいろいろと都合がよい。
※ほかの場所でget(‘security.context’)->getToken()->getUser()とかやってる箇所があるとエラー吐くので。

 

【Symfony2.3】UnitTestを作成する。

まずはPHPUnitをインストールする。

https://phpunit.de/getting-started.html

ソースは基本的に公式を上から読んで作ればおk。

http://docs.symfony.gr.jp/symfony2/book/testing.html

https://phpunit.de/manual/current/ja/installation.html

このページのアサーションメソッドのまとめがくそ便利。

https://phpunit.de/manual/current/ja/appendixes.assertions.html

あとアノテーションもたくさんあって便利。

https://phpunit.de/manual/current/ja/appendixes.annotations.html