Stagehand_Testrunner2.70 がリリースされている
個人的に PHP での開発には必須の Stagehand_Testrunner2.70 がリリースされたので入れた。
# というより、OS を Snow Leopard にしたので、PHP やらなんやら全て入れ直したため必然的にアップグレード。
今回のバージョンより大幅にかわっているので、pear install piece/Stagehand_Testrunner だけではインストールできない。
$ sudo pear channel-discover pear.piece-framework.com Adding Channel "pear.piece-framework.com" succeeded Discovery of channel "pear.piece-framework.com" succeeded $ sudo pear install piece/stagehand_testrunner Failed to download piece/Stagehand_AccessControl within preferred state "stable", latest release is version 0.1.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_AccessControl-0.1.0" to install Failed to download piece/Stagehand_Autoload within preferred state "stable", latest release is version 0.4.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_Autoload-0.4.0" to install Failed to download piece/Stagehand_CLIController within preferred state "stable", latest release is version 0.1.1, stability "beta", use "channel://pear.piece-framework.com/Stagehand_CLIController-0.1.1" to install Unknown remote channel: pear.phpspec.org Did not download optional dependencies: pear/Net_Growl, channel://pear.phpspec.org/PHPSpec, use --alldeps to download automatically Failed to download piece/Stagehand_Autoload within preferred state "stable", latest release is version 0.4.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_Autoload-0.4.0" to install Failed to download piece/Stagehand_AccessControl within preferred state "stable", latest release is version 0.1.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_AccessControl-0.1.0" to install Failed to download piece/Stagehand_Autoload within preferred state "stable", latest release is version 0.4.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_Autoload-0.4.0" to install Failed to download piece/Stagehand_LegacyError within preferred state "stable", latest release is version 0.3.0, stability "beta", use "channel://pear.piece-framework.com/Stagehand_LegacyError-0.3.0" to install piece/Stagehand_TestRunner requires package "piece/Stagehand_AccessControl" (version >= 0.1.0) piece/Stagehand_TestRunner requires package "piece/Stagehand_Autoload" (version >= 0.4.0) piece/Stagehand_TestRunner requires package "piece/Stagehand_CLIController" (version >= 0.1.0) piece/Stagehand_TestRunner can optionally use package "pear/Net_Growl" (version >= 0.7.0) piece/Stagehand_TestRunner can optionally use package "channel://pear.phpspec.org/PHPSpec" (version >= 0.2.3) piece/Stagehand_TestRunner requires package "phpunit/PHPUnit" (version >= 3.4.0), installed version is 3.3.0 piece/Stagehand_AlterationMonitor requires package "piece/Stagehand_Autoload" (version >= 0.3.0) piece/Stagehand_DirectoryScanner requires package "piece/Stagehand_AccessControl" (version >= 0.1.0) piece/Stagehand_DirectoryScanner requires package "piece/Stagehand_Autoload" (version >= 0.3.0) piece/Stagehand_DirectoryScanner requires package "piece/Stagehand_LegacyError" (version >= 0.1.0) No valid packages found install failed
というわけで、先に色々依存しているものをインストールする。
ちなみに --alldeps は state が beta なのは一緒に入ってくれないよう。
phpunit/PHPUnit phpspec/PHPSpec pear/Net_Growl-beta piece/Stagehand_AccessControl-beta piece/Stagehand_CLIController-beta piece/Stagehand_Autoload-beta piece/Stagehand_LegacyError
上記のライブラリをインストールして、Stagehand_Testrunner をインストールすればおk。
# PHPUnit は最新の 3.40 以降が必須
今回のバージョンから実行するコマンド名が変わったので注意が必要。
phpspecrunner | PHPSpec |
phptrunner | phpt |
phpunitrunner | PHPUnit |
simpletestrunner | SimpleTest |
またテストコードが置いているディレクトリの監視を行うオプションが付いたので、テストコードを書く -> テストランナー起動というステップをせずに行ける。
$ phpunitrunner -c -R -a functional/
とかすれば、functional ディレクトリを監視対象になる。
自分は似たようなのを Python の Paver を使ってやっているが、デフォルトで付いたのは素晴らしい。
# ちなみに自分のはファイルの更新日時だけをみてるので、新規にファイルを追加しても対応できないというオチ付き。
# なんとかせなw
いずれにせよ、新しいバージョンのリリースお疲れさまでした。