わっとブログ

WEB技術,その他雑多記事など

CentOS5.8にPHPUnit3.7をインストール

レガシーコード改善ガイド読みました.

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

  • 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
  • 出版社/メーカー: 翔泳社
  • 発売日: 2009/07/14
  • メディア: 大型本
  • 購入: 44人 クリック: 640回
  • この商品を含むブログ (133件) を見る
レビューは後でするとして,これはもうテストコード書くしかねぇ!って感じなんで,とりあえず馴染みのあるPHPでやってみることに.
テストにはテスティングフレームワークPHPUnitを使うことにしました.インストールは,PHPUnit Manualを参考にしました.(http://www.phpunit.de/manual/3.7/ja/installation.html

インストール

まずはインストール.以下のコマンドを使用.

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit

以下のエラーメッセージが出る.

phpunit/PHP_CodeCoverage can optionally use PHP extension "dom" phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5)

php-domとxdebugが必要らしい.yumで,php-dumをインストール.

yum install php-dom --enablerepo=epel --enablerepo=remi

peclコマンドで,xdebugを入れる.

pecl install xdebug

最後に,php.iniにxdebugを追記してくださいと言われるので,以下を追加。

zend_extension = /usr/lib64/php/modules/xdebug.so

再度PHPUnitインストール

pear install pear.phpunit.de/PHPUnit
~略~
install ok: channel://pear.phpunit.de/PHPUnit-3.7.9

コマンドで確認.

phpunit --version
PHPUnit 3.7.9 by Sebastian Bergmann.

少し使ってみる.

PHPUnitは,クラスファイルがあればテストファイルを,テストファイルがあればクラスファイルを自動で生成してくれる「--skeleton」という便利なオプションがあるので,それを使って見ることに.
...と思ったら,ver 3.7以降は、--skeletonオプションが使えないらしい.代わりにPHPUnit_SkeletonGeneratoを使うように都のことなので,インストールする.

pear install phpunit/PHPUnit_SkeletonGenerator
~略~
install ok: channel://pear.phpunit.de/PHPUnit_SkeletonGenerator-1.1.0

テストファイルからクラスファイルを作るとき

phpunit-skelgen --class HogeTest

クラスファイルからテストファイルを作るとき

phpunit-skelgen --test Hoge

クラスファイルorテストファイルと同じディレクトリ内に,生成したファイルができています.おーできてるできてる,ってことで,今日はここまで.