PHPUnitを最速でインストールする方法(CakePHP2.2 pear コマンド無し編)

このエントリーをはてなブックマークに追加
はてなブックマーク - PHPUnitを最速でインストールする方法(CakePHP2.2 pear コマンド無し編)
Share on Facebook
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]

PEAR環境無しでどうにかインストールする方法を探してみた。
はじめはユーザディレクトリにPEARをインストールする方法を探ってました。

root権限なしでCakePHP2 + PHPUnitを最速でインストールする方法 – Copy/Cut/Paste/Hatena


$ curl -O http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ ls pear/bin
pear_old
peardev
pecl

で入るはずなんだけど、下記のようにpear_old, peardev ができて、肝心のpearが無い。
バージョンも同じだし、不思議。


cd pear/bin
$ ./pear_old  -V
PEAR Version: 1.9.4
PHP Version: 5.3.15
Zend Engine Version: 2.3.0
$ ./peardev  -V
PEAR Version: 1.9.4
PHP Version: 5.3.15
Zend Engine Version: 2.3.0

仕方がないので
CakePHPでPHPUnitを手動インストールしたときのメモ | ミラボ
を参考に手動でインストール。


cd path/to/cake/app/Vendor 
mkdir tmp
cd tmp
curl -O http://pear.phpunit.de/get/PHPUnit-3.7.9.tgz
curl -O http://pear.phpunit.de/get/File_Iterator-1.3.3.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.phpunit.de/get/PHP_CodeCoverage-1.2.6.tgz
curl -O http://pear.phpunit.de/get/PHP_Timer-1.0.4.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.symfony.com/get/Yaml-2.1.3.tgz
curl -O http://pear.phpunit.de/get/PHP_TokenStream-1.1.5.tgz
curl -O http://pear.phpunit.de/get/Text_Template-1.1.4.tgz
tar xvzf PHPUnit-3.7.9.tgz
tar xvzf File_Iterator-1.3.3.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf PHP_CodeCoverage-1.2.6.tgz
tar xvzf PHP_Timer-1.0.4.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf Yaml-2.1.3.tgz
tar xvzf PHP_TokenStream-1.1.5.tgz
tar xvzf Text_Template-1.1.4.tgz
cd ..
cp -R PHPUnit-3.7.9/PHPUnit .
cp -R File_Iterator-1.3.3/File .
cp -R PHP_CodeCoverage-1.2.6/PHP .
cp -R PHP_Timer-1.0.4/PHP .
cp -R PHP_TokenStream-1.1.5/PHP . 
cp -R Text_Template-1.1.4/Text . 
cp -R  PHPUnit_MockObject-1.2.2/PHPUnit .
rm -rf ./tmp

各パッケージのバージョンあがった時どうしようか。。。
ほかにプラグイン入れないこと前提であればVendor以下まるっと削除して、もう一度インストールでいいかな。

http://hostname/test.php
で動作確認でき、、ません。


Fatal Error
Error: Call to undefined method PHPUnit_Framework_AssertionFailedError::getComparisonFailure()	
File: /Path/to/cake/lib/Cake/TestSuite/Reporter/CakeHtmlReporter.php	
Line: 252

"Call to undefined method PHPUnit_Framework_AssertionFailedError::getComparisonFailure()" by deg84 · Pull Request #716 · cakephp/cakephp
このpull-requestを手動反映して解決。

これにてPHPUnit動作確認できましたー。

【環境】
Mac OS X 10.8.2
PHP 5.3.15
cakephp-cakephp-2.2.2-0-gf155687.zip

Popular Posts:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*