Eclipse から MakeGood で FuelPHP のユニットテストを自動実行する

Eclipse でコーディングしている場合、ソースファイルやテストファイルが更新されたときに自動でユニットテストを実行してくれる MakeGood という Eclipseプラグインがあります。

今回は、FuelPHP で MakeGood を使う方法です。

Eclipse や MakeGood のインストール方法については、Eclipse 3.7 & PDT 3.0 & MakeGood 1.8 のインストール を参照願います。

MakeGood の設定

Eclipse の設定

Window メニューから Preferecnes を選択します。

PHPPHP Executables を設定します。


PHPPHP Libraies を設定します。ライブラリのパスを設定します。

ここではライブラリの名前を「xampp」として「/opt/lampp/lib/php」を設定しています。

プロジェクトの設定

プロジェクトを右クリックし、Properties を選択します。

MakeGood の設定をします。

「テスティングフレームワーク」に「PHPUnit」を選択し、「プリロードスクリプト」は 「fuel/core/bootstrap_makegood.php」に設定します。「テストフォルダー」は通常は「fuel/app/tests」になります。

bootstrap_makegood.php は、bootstrap_phpunit.php をコピーしてあらかじめ作成しておきます。

--- bootstrap_phpunit.php	2011-12-15 13:10:30.448042129 +0900
+++ bootstrap_makegood.php	2012-01-12 15:05:11.175774258 +0900
@@ -9,6 +9,12 @@
 error_reporting(E_ALL);
 ini_set('display_errors', 1);
 
+// for MakeGood
+$_SERVER['doc_root'] = '../../';
+$_SERVER['app_path'] = 'fuel/app';
+$_SERVER['core_path'] = 'fuel/core';
+$_SERVER['package_path'] = 'fuel/packages';
+
 $app_path		= trim($_SERVER['app_path'], '/').'/';
 $package_path	= trim($_SERVER['package_path'], '/').'/';
 $core_path		= trim($_SERVER['core_path'], '/').'/';

最後に、先ほど設定したライブラリのパスを追加します。

左下の MakeGood のアイコンをダブルクリックすると、

MakeGood のウインドウが開きます。

エラーがある場合は、ここに表示されます。

テストの手動実行

MakeGood はファイルの更新を検知して、自動的にテストを実行しますが、手動でテストを実行することもできます。


プロジェクトのファイルやフォルダを右クリックすると、

  • テストの実行
  • すべてのテストの実行

メニューが表示されます。

「すべてのテストの実行」を選択すれば、すべてのテストが実行されます。

なお、ここでのすべてのテストとは、テストフォルダー内のファイル名が Test.php で終わるファイルです。

FuelPHP命名規則からは外れますが、テストファイル名は MakeGood の仕様により Test.php で終わる必要があります。

テストファイルは autoload とも関係ないので、私は単純にファイル名のみを hoge_Test.php のようにしています。

例えば、Tests_Auth クラスの場合は、auth_Test.php としています。