FuelPHPのモジュールでのユニットテスト
モジュールを使った場合のテストの仕方です。
phpunit.xmlの変更
fuel/core/phpunit.xmlをfuel/app/phpunit.xmlにコピーし、モジュール用のtestsuitesを追加します。
<testsuite name="modules">
<directory suffix=".php">../app/modules/*/tests</directory>
</testsuite>
bootstrap_phpunit.phpの変更
fuel/core/bootstrap_phpunit.phpをfuel/app/bootstrap_phpunit.phpにコピーし、最後にモジュールをロードするように追加します。
// モジュールをロード
\Module::load('mymodule');
これを忘れると、モジュール内のクラスがオートロードできません。
Configファイルについて
Configファイルについては、モジュール内からは次のようにモジュール名なしで指定することもできます。
\Config::load('custom', true);
しかし、Requestが実行されていないユニットテストではモジュール内ではないと判断されるため、上記のコードをテストファイル内に記述しても読み込まれません。
以下のようなモジュール名を記載するコーディングスタイルで統一するのがよいのではないでしょうか。
\Config::load('mymodule::custom', true);
テストの実行
--testsuite=modulesを指定するとモジュール内のテストのみを実行できます。@groupアノテーションと組み合わせてもいいでしょう。
$ oil test --testsuite=modules
参考
Date: 2014/06/05



![徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応 徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応](http://tatsu-zine.com/images/books/164/cover_s.jpg)

