PHPUnitを準備する
やらねばならないのは痛いほどわかっていたが、面倒なのでひたすら先延ばしにしていたユニットテスト。既存のコードに組み込むのはほぼ不可能というのを言い訳にしてきたが、さすがに新しくフレームワークを実装するとなれば書かないわけにはいかないだろう。
そんなわけでPHP用UnitTestの本流、xUnitファミリの一員であるPHPUnitを導入してみる。環境はWindows XP SP3 / xampp 1.6.6a。
●PEARの準備と確認
xampp\phpでpearコマンドが使用可能。Linuxサーバとほぼ同じ使い方ができる。
私の環境ではpear listしたら「なにもないよ」と言われたので以下のようにチャンネル情報をupdateし、PEAR本体のアップデートを行った。
pear channel-update pear.php.net
pear update pear
PHPUnitのRequirementsを確認、「オプションで必要になるよ」と指定された「Image_GraphViz」と「Log」をインストールしておいた。
pear install Image_GraphViz
pear install Log
Requirementsに書かれたExtensionsは、PHP 5.2以降ならおおむねデフォルト有効になっているので、特別な準備はいらないだろう。
●Xdebugの準備
コードカバレッジ(対象コードに対してテストコードの網羅率)を調べたりするにはXdebugが必要なので、使う予定があるならインストールしておく。方法はWindows環境ならこちらの記述がすべてなので参照されたい。
…と思ったら、私の環境のうちのひとつにphp_xdebug.dllが存在しなかった。1.6.6aをzipパッケージでインストール、というのは同じ手順のはずなのだが…。xampp\php\extにphp_xdebug.dllが存在しない場合、本家から「Windows modules : PHP 5.2.1-5.2.6」をダウンロードし、php_xdebug.dllにリネームしてxampp\php\extに保存する。
●PHPUnitのインストール
PEARがちゃんと動くなら、インストールページ(英語だがそれほど困らないだろう)に書いてあることがすべてなのでコマンドを2つ叩くだけ。
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
最低限の動作テスト。
phpunit --version
●UnitTestの作成と実行
ドキュメントどおりArrayTestを書いてみようかと思ったのだが、こちらのサイトに日本語による解説が充実している。同じことをしても芸がないので、別のサンプルを作成してみる。後日エントリ予定。
【リンク集】
PHPUnit
http://www.phpunit.de/
xUnit – Wikipedia
http://ja.wikipedia.org/wiki/XUnit
Xdebug – Debugger and Profiler Tool for PHP
http://xdebug.org/
Lepracaun’s factory – レプラコーン ファクトリー -: XAMPPならXdebugも簡単インストール
http://www.lepracaun.info/blog/2007/11/xamppxdebug.html
PHPUnitの使い方
http://php.nice-777.com/PHPUnit/