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 を使ったコードカバレッジの方法を紹介したいと思います

2009年8月29日土曜日

NetBeans 6.7.1 on Snow Leopard

Mac OS X 10.6 (Snow Leopard) で NetBeans 6.7.1 動作検証しました
(Snow Leopard、ハズレメディアだったので、交換でした)



動作は軽快です
OS のアップグレードによる致命的な不具合はないようですが、何かありましたら、報告したいと思います

2009年8月5日水曜日

MAMP で PHPUnit を使う

NetBeans 6.7 で新たにサポートされた PHPUnit を使用するため、MAMP 環境に PHPUnit をインストールする方法を紹介します
元ネタはコチラ
なお、以降のやり方は次期メジャーリリースとなる、 PHPUnit 4.x(2010年リリース予定)では使えませんので、ご注意ください

以降は MAMP がインストールされていることを前提に進めます
未インストールの方は、コチラを参照し、準備してください
(以降、インストール先はデフォルトの "/Applications/MAMP" として説明します)

まず、最新安定版の PHPUnit をコチラからダウンロードします
09/08/05 時点では 3.3.17 が最新バージョンですので、以降の説明はこのバージョンにて行います
(使用するバージョンに応じ、適時読み替えてください)

任意の場所へダウンロード後、そのファイルを解凍してください
解凍後のフォルダに含まれる、 "PHPUnit" フォルダを "/Applications/MAMP/bin/PHP5/lib/php" 以下へコピーしてください
また、上記 "PHPUnit" フォルダと同じ階層にある "phpunit.php" を "/Applications/MAMP/bin/PHP5/bin" 以下にコピーします
(上記バージョンでは "PHPUnit-3.3.17/PHPUnit-3.3.17" 以下になります)

コピーしたフォルダ内の "PHPUnit/Util/Fileloader.php" を編集します
このファイル内の
@php_bin@
をすべて
/Applications/MAMP/bin/php5/bin/php
へ置換します

次に、コピーした "phpunit.php" を編集します
ファイル1行目の
#!/usr/bin/env php
#!/Applications/MAMP/bin/php5/bin/php
へ変更します
また、 "PHPUnit/Util/Fileloader.php" と同様に、
@php_bin@
をすべて
/Applications/MAMP/bin/php5/bin/php
へ置換します

以上で PHPUnit のインストールは完了です
なお、今回は MAMP 環境内にインストールしていますが、ターミナルなどのコマンドライン上からも実行したい場合は "/Applications/MAMP/bin/php5/bin" 以下ではなく、 "/usr/local/bin" などに "phpunit.php" コピーし、実行権限を設定することで利用可能になります
次回は NetBeans 6.7 上での PHPUnit の利用方法を紹介したいと思います

2009年8月4日火曜日

NetBeans IDE 6.8 M1 リリース

NetBeans IDE 6.8 M1 がリリースされました
ダウンロードはコチラです
また、M1 での新機能(候補)一覧はコチラになります

いつも通りのスプラッシュは以下のようになっています
(まだ、6.7 と変わりはないですが…)


今回の目玉は、やはり Java Enterprise Edition v6 のサポートかと思います
(同梱の Glassfish も GlassFish v3 b57 のみと Java EE 6 を意識した構成になっています)
また、 PHP のフレームワークである、 Symfony のサポートも追加されています

まだ、 M1 なので実際の開発には使えないかと思いますが、上記機能に興味がある方はぜひお試しください

2009年8月1日土曜日

NetBeans Podcast が帰ってきました

担当者不在のため、8ヶ月ほど停滞していた、NetBeans Podcast が帰ってきました
最新の #50 はコチラになります

かなりコアな話(特に NetBeans Puzzler のネタは使えるものばかりで、本ブログでも紹介させてもらっています)が聞けて、おもしろいかと思います

英語ですが、聞き取りやすく、また基本的に NetBeans の機能紹介等なので、聞き覚えのある単語から内容は類推できるかと思います

まだ聞いたことないよという人は、ぜひ聞いてみてください