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


いずれにせよ、新しいバージョンのリリースお疲れさまでした。