テスト方法

コンソールを起動し、コンソール上でPHPUnitを起動します。コンソールで入力するコマンドは次の通りです。

(PHPUnitの実行ファイルのパス) (テストのクラスファイルのパス)

テストのクラスファイルは拡張子の.phpを除いたものになります。例えば次のように記述します。

phpunit /path/to/aplication/tests/modules/admin/controllers/IndexTest

また、ライブラリ内にphpunitを起動するための必要ファイルを組み込んであるため、これを利用する事も可能です。この場合phpをコンソールで実行し、第一引数にphpunitのパス、第二引数にユニットテストのテストケースのパスという書き方になります。例としては次の通りです。

/path/to/bin/php /path/to/library/phpunit /path/to/aplication/tests/modules/admin/controllers/IndexTest

指定したファイル内にあるテストのメソッドの記述例としては下記の通りです。

public function testIndexAction(){
    $this->dispatch('/');
    $this->assertController('index');
    $this->assertAction('index');
}

この例ではディスパッチを行い、コントローラやアクションが正しく解決されているか確認しています。このようにしてディスパッチを実行した際のルーティングやリダイレクトが正しく実行されているかや、出力されるボディ中に特定の要素が含まれているか(または含まれていないか)を確認する事がZend_Testの主な機能です。Zend_Testで定義されているアサーションは下記のマニュアルをご覧下さい。

http://framework.zend.com/manual/1.12/ja/zend.test.html

また、Zend_TestはPHPUnitの拡張モジュールであるためPHPUnitにあるアサーションも利用可能です。phpUnitの主にアサーションは変数の値の比較演算を行う事でテストを行います。PHPUnitで定義されているアサーションは下記のマニュアルをご覧下さい。

http://phpunit.de/manual/3.6/ja/writing-tests-for-phpunit.html#writing-tests-for-phpunit.assertions

関連ページ

ブログ記事