2009年8月30日日曜日

NetBeans 6.7.1 で PHPUnit テストを試す

NetBeans 6.7 で新たにサポートされた PHPUnit の使用方法を紹介します
元ネタはコチラです

以降は、 PHP、およびPHPUnit が既にご使用の環境で設定済みであることを前提としています
MAMP を使用した PHP 実行環境の設定方法はコチラ、MAMP 環境下での PHPUnit の設定方法はコチラを参照ください

NetBeans から PHPUnit を使用するには、まず「オプション」画面にて phpunit コマンドへのパスを設定します
「オプション」画面の「PHP」タブをクリックし、 PHP の設定画面を表示します

画面内の "単体スクリプト" 、 "PHPUnit スクリプト" に phpunit コマンドへのパスを設定します
(例では "/Applications/MAMP/bin/php5/bin/phpunit.php" としていますが、各自の環境に合わせてください)

NetBeans の環境設定は以上です

次に、 PHPUnit にて単体テストの生成する対象となるプログラムを書きます
まず、"Calculator" という名前の "PHP アプリケーション" プロジェクトを作ります
そのプロジェクトの中に、 "Calculator.php" という名前の "PHPクラス" ファイルを生成します
中身は以下のようになります
<?php
class Calculator {
public function add($a, $b) {
return $a + $b;
}
?>

上記のソースコードにコメントブロックとテストケースを追加します
追加した結果は以下のようになります
<?php
class Calculator {
/**
* @assert (0, 0) == 0
* @assert (0, 1) == 1
* @assert (1, 0) == 1
* @assert (1, 1) == 2
* @assert (1, 2) == 4
*/
public function add($a, $b) {
return $a + $b;
}
}
?>

「ファイル」ウィンドウを開き、テストケース用ディレクトリを作成します
プロジェクトのルートディレクトリを右クリックし、表示されたメニューより「新規 > フォルダ...」を選択します

「新規フォルダ」ウィンドウにて、任意のフォルダ名を付け、「完了」ボタンをクリックします
(ここでは例として、"tests" と設定しています)

次に「プロジェクト」ウィンドウ内の、 "Calculator.php" を右クリックします


表示されたメニューより、 「ツール > PHPUnit テストを作成」 を選択すると、テストファイルを置くディレクトリを選択するウィンドウが表示されます

「参照...」ボタンをクリックし、先ほど作成したディレクトリを設定します

選択後、「了解」ボタンをクリックします

phpunit コマンドが実行され、プロジェクト内に記述されているテストケースをもとに、テストファイルが生成されます


「プロジェクト」ウィンドウより、"Calculator.php" ファイルを右クリックし、表示されるメニューより「テスト」を実行します
(または、生成されたテストファイル ("CalculatorTest.php") を「実行」しても同じ動作となります)

実行後、「テスト結果」ウィンドウが開き、テストの結果が表示されます

先に記述したテストケースの下記行に誤りがあるため、テスト結果は1件、エラーとなっています
@assert (1, 2) == 4 //正しくは "3" となります

以下のようにテストファイルを修正して再実行すると、テストケースはすべて成功します
    /**
* Generated from @assert (1, 2) == 3.
*/
public function testAdd5()
{
$this->assertEquals(
3,
$this->object->add(1, 2)
);
}


以上が、PHPUnit の簡単な使用方法となります
次回は、この PHPUnit を使ったコードカバレッジの方法を紹介したいと思います

0 件のコメント: