somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【PHPUnit】MakeGood 継続的テスト【Eclipse】

Eclipse上でPHP用のUnitTestを便利にするプラグイン【MakeGood】についてのメモです。

MakeGoodの特徴
☆ファイル保存時のテストの実行 (Autotest)
⇒これによりテストを行わないということが100%なくなります。
☆失敗・エラー・致命的なエラーの自動的な追跡
⇒これによりテストを行わないということが100%なくなります。
・すべてのテストの実行
PHP Explorer および Package Explorer からのテストの実行
PHP Editor からのテストの実行
⇒クラス・ファイル・コンテキスト(メソッド)単位での試験が可能
☆テストのデバッグ
⇒テストケース自体のバグで開発が詰まること避けられる
・前回のテストの再実行
・テストの実行の停止
・最初の失敗またはエラーの際の停止
・テスト実行時にシステムインクルードパスが使用可能
・マルチバイト文字のサポート
PHPUnit, SimpleTest, CakePHP, CIUnit のサポート
(CI:フレームワーク「CodeIgniter(コードイグナイター)」)
・Zend Debugger および Xdebug のサポート

今回は、以前にインストールしたPHPUnitを対象とします。

テストケース
4.1抜粋;http://www.phpunit.de/manual/3.5/ja/writing-tests-for-phpunit.html#writing-tests-for-phpunit.test-dependencies
<?php
class StackTest extends PHPUnit_Framework_TestCase {
    public function testPushAndPop() {
        $stack = array();
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}

ここからMakeGoodのインストールと実行

0.PHPUnit実行
まだ一回も実行していなかった・・・ Eclipse上にテスト用のプロジェクトを作成する。
プロジェクト直下にテスト用のディレクトリを作成する。
上記のソースを、テスト用のディレクトリに格納する。
コマンドプロンプトを開き、上記ディレクトリに移動し下記コマンドを実行する
phpunit テストケースのクラス名」

1.新規ソフトウェアのインストール
 ヘルプを選択し、新規ソフトウェアのインストールを押下する。
 追加ボタンを押下し、名前とロケーションを入力し、OKボタンを押下する。
  名前:(任意)piece-framework -
  ロケーション:http://eclipse.piece-framework.com/
 MakeGood(1.6.0.v201107051649)を選択し、インストールする。

2.実行ファイルとXDebugの設定
 http://ratememo.blog17.fc2.com/blog-entry-508.htmlと同じ

3.MakeGood設定
 ウィンドウタブを選択し、設定を押下する。
 MakeGoodを選択し、すべてのテストが選択されていることを確認する。

 プロジェクトを選択後、右クリックし、プロパティーを押下する。
 MakeGoodを押下する。
 PHPUnitを選択する。
 0.で作成したテスト用のディレクトリを追加する。
 OKボタンを押下する。(設定完了)

4.MakeGood実行
 プロジェクトまたはエディタを右クリックし、テストを実行する。
 テストが実行され、グリーン状態になることを確認する。
 セーブしなおすと、自動でテストが実行されることを確認する。

以上。