with Zf - 機能テスト
with Zf の機能テストについて
with Zf ではコントローラー用の機能テストを作成し、テストを支援します。test/controllers 以下に S2Base_ZfControllerTestCase を継承したテストクラスが配置されます。
ヘルパメソッド
用意されているヘルパメソッド
S2Base_ZfControllerTestCase には機能テストを支援する為のヘルパメソッドがいくつか用意されています。
get
アクションに get でリクエストをします。パラメータは連想配列で指定する事が出来ます。
$this->get('show', array('id' => 1234));
post
アクションに post でリクエストをします。パラメータは連想配列で指定する事が出来ます。
$this->post('create', array('name' => 'MacBook'));
xhr
アクションに XMLHttpRequest でリクエストをします。引数にメソッドとパラメータを指定する事が出来ます。
$this->xhr('ajax_show', 'GET', array('id' => '1234'));
assigns
コントローラー内で view にアサインされている変数の内容を取得します。引数にキーを指定します。
$this->assertEquals('Call Of Duty 4', $this->assigns('game'));
アサーション
用意されているカスタムアサーション
S2Base_ZfControllerTestCase には機能テストを支援する為のカスタムアサーションがいくつか用意されています。
assertResponse
HTTP のレスポンスコードを確認します。
$this->assertResponse(200);
assertRedirectedTo
リダイレクトが行われているか確認します。
$this->assertRedirectedTo('/products/index');
assertRouteFor
設定したURLルーティングの動作を確認します。
$this->assertRouteFor('/products/MacBook', array('controller' => 'products', 'action' => 'show', 'name' => 'MacBook'));