任意のPHPのバージョンと、任意のPHPUnitのバージョンを組み合わせて実行する。
3ヶ月前にgistに書いてtwitterでつぶやいたきりでしたが、こっちにも記載。
いくつか方法はありますが、たぶん最低限の方法で、
任意のPHPのバージョンと任意のPHPUnitのバージョンを動かす方法です。
Ubuntuの場合を中心に書きますが、Windowsとかでもフルパス指定でやれると思います。
PHPUnit 3.5の場合
3.4と3.5だとezComponentへの依存がありましたが、3.6からはなくなってようです。
- bin/phpunitのインクルードバスを設定しなおします。
PHPUnit 3.5の場合
set_include_path(dirname(__DIR__).'/php' . PATH_SEPARATOR . get_include_path());
require_once 'PHP/CodeCoverage/Filter.php';
PHP_CodeCoverage_Filter::getInstance()->addFileToBlacklist(__FILE__, 'PHPUNIT');/**
if (strpos('/usr/bin/php', '@php_bin') === 0) {
set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());
}*/
- 実行します
trunkのPHPに、phpunit3.6で実行する場合
$ ~/php-src-trunk/sapi/cli/php ~/tmp/phpunit36/bin/phpunit -c tests/phpunit.xml tests/Zend/Acl
たぶん、phpunit3.7だとpharバージョンが提供されそうなので苦しまなくてもいいかも。
関連リンク
- Installing PHPUnit with Pyrus http://saltybeagle.com/2011/10/installing-phpunit-with-pyrus/
- Running multiple versions of PHPUnit http://tech.vg.no/2011/11/29/running-multiple-versions-of-phpunit/
頻度が多い場合はちゃんとphp-buildとphpenv使ったほうがいいと思います。はい。