30過ぎのJava屋がはじめるPHP – PHPUnit編 その1

9月からPHPな感じになるかもなので1ヶ月かけてお勉強です。
 
とりあえず家のMacにPHPって入ってんのかな?と。

% php -v
PHP 5.3.4 (cli) (built: Dec 15 2010 12:15:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

お。よさげです。
 
何はともあれテストだろ?って事でPHPUnit入れてみようかな、と。
 
ちょっと調べてみると、PHPではpearというパッケージ管理ツールを使うみたい。
perlのCPANとかRubyのGemsみたいな感じで。
 
とりあえず叩いてみると、こっちも入ってました、と。

# which pear
/usr/bin/pear
# pear -v ★ バージョンを確認する事は出来ないっポイ。
Commands:
build                  Build an Extension From C Source
bundle                 Unpacks a Pecl Package
〜略〜

 
いよいよPHPUnitのインストールです。
https://github.com/sebastianbergmann/phpunit/ が、PHPUnitのGithubになりますが、
Readmeみると、デファクトだ〜とかちょこちょこって書いてある後に、Installationのとこみると、
– pear.phpunit.de っていうチャンネルをローカルのPEAR環境に登録すること
– 他にも依存ライブラリがあるからそれもaddすること
って書いてあって↓のように叩きなさい、と。

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

実際にやってみると、なんだか良さ気です。

# pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

# pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded

# pear channel-discover pear.symfony-project.com
Adding Channel "pear.symfony-project.com" succeeded
Discovery of channel "pear.symfony-project.com" succeeded

いよいよインストールです。
何か変なメッセージ出てんだけど…。正常終了したみたいだからイイの、、だろうか。

# pear install phpunit/PHPUnit
Did not download optional dependencies: ezc/ConsoleTools, use --alldeps to download automatically
Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC1, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC1" to install
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.8.0
〜略〜
Starting to download Base-1.8.tgz (236,357 bytes)
...done: 236,357 bytes
install ok: channel://pear.symfony-project.com/YAML-1.0.6
install ok: channel://components.ez.no/Base-1.8
install ok: channel://components.ez.no/ConsoleTools-1.6.1
# echo $?
0

GithubのReadmeにはインストール終わったら /usr/lib/php/PHPUnit に
入ってるから確認出来るよんって書いてあったので、、

# ls -l /usr/lib/php/PHPUnit
ls: /usr/lib/php/PHPUnit: No such file or directory

アレ、、無いみたいですねw
メッセージ的にPearのバージョン上げてやんないとなって感じ。
って事でやってみます。

# pear upgrade PEAR
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
.............................................................done: 296,332 bytes
downloading Archive_Tar-1.3.7.tgz ...
〜略〜
upgrade ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
# echo $?
0

無事上がったみたいなので再度PHPUnitのインストールにチャレンジします。
まだ何か言ってますが、とりあえず今度は入ったっポイですw

# pear install phpunit/PHPUnit
Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC1, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC1" to install
phpunit/PHPUnit can optionally use PHP extension "dbus"
〜略〜
Starting to download PHP_TokenStream-1.0.1.tgz (7,250 bytes)
...done: 7,250 bytes
install ok: channel://pear.phpunit.de/DbUnit-1.0.2
install ok: channel://pear.phpunit.de/File_Iterator-1.2.6
install ok: channel://pear.phpunit.de/Text_Template-1.1.0
install ok: channel://pear.phpunit.de/PHP_Timer-1.0.0
install ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.0.3
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.0.1
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.0.4
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.0.9

ソレっぽいの入ってるし〜

# ls -l /usr/lib/php/PHPUnit
total 0
drwxr-xr-x  6 root  wheel  204  8  1 22:37 Extensions
drwxr-xr-x  3 root  wheel  102  8  1 22:37 Framework

でも叩けません。。。

# which phpunit
phpunit not found
# phpunit
zsh: command not found: phpunit

やっぱりインストールした時のメッセージをシカトしちゃいかんと。。w

# pear install channel://pear.php.net/HTTP_Request2-2.0.0RC1
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
Failed to download pear/Net_URL2 within preferred state "stable", latest release is version 0.3.1, stability "beta", use "channel://pear.php.net/Net_URL2-0.3.1" to install
pear/HTTP_Request2 requires package "pear/Net_URL2" (version >= 0.3.0)
No valid packages found
install failed

と、また怒られてしまったので、、言う通りに。。

# pear channel-update pear.php.net
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded

からの、、

# pear install channel://pear.php.net/Net_URL2-0.3.1
downloading Net_URL2-0.3.1.tgz ...
Starting to download Net_URL2-0.3.1.tgz (8,488 bytes)
.....done: 8,488 bytes
install ok: channel://pear.php.net/Net_URL2-0.3.1

で、やっとHTTP_Request2ウンチャラってのが入った。

# pear install channel://pear.php.net/HTTP_Request2-2.0.0RC1
downloading HTTP_Request2-2.0.0RC1.tgz ...
Starting to download HTTP_Request2-2.0.0RC1.tgz (95,353 bytes)
.....................done: 95,353 bytes
install ok: channel://pear.php.net/HTTP_Request2-2.0.0RC1

んでPHPUnitのインストールすると、、

# pear install phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "dbus"
downloading PHPUnit-3.5.14.tgz ...
Starting to download PHPUnit-3.5.14.tgz (118,697 bytes)
..........................done: 118,697 bytes
downloading XML_RPC2-1.1.1.tgz ...
Starting to download XML_RPC2-1.1.1.tgz (68,431 bytes)
...done: 68,431 bytes
install ok: channel://pear.php.net/XML_RPC2-1.1.1
install ok: channel://pear.phpunit.de/PHPUnit-3.5.14

やっとですね。。
whichで見てもあるし、コマンド叩けてる〜
#-vはunrecognizedとか言われてるけど、、w

# which phpunit
/usr/bin/phpunit
# phpunit -v
PHPUnit 3.5.14 by Sebastian Bergmann.

unrecognized option -- v

 

明日はTDDしてみます。
 

パーフェクトPHP (PERFECT SERIES 3)
小川 雄大 柄沢 聡太郎 橋口 誠
技術評論社
売り上げランキング: 19241

コメント

タイトルとURLをコピーしました