旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【Linux】CentOS6環境にPHPUnitをインストール

さて自分のプログラムもそうなんだけどテスト駆動開発って大切ですよね。 工数かかるし、テストやってると時間ねえよって状態なのは重々承知なのですが これやるだけでmethod単位で動かせてコードを担保できるのはでかいです。

実際にはテストファーストでやるものですが、どうしても正直なところ コードを書いてからバグないかなぁとかっていってテスト書いていく事が多いです。 そこはちゃんとしないとなぁと思いつつもやはり開発に工数をかけられない場合は。。。 まぁそれは別ですね。

今回はそんなテストツールの中でもPHPUnitのインストール方法です。 PHPが入っていれば簡単なんですよ。

使い方はまた別途書きますが、まずはインストールですからね。

まずはPHPがちゃんと入っているか確認。

# php -v
PHP 5.3.3 (cli) (built: Oct 30 2014 20:12:53) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

今の環境には5.3.3が入ってるみたいですね。

入っていなければ必要なPHPyumでさくっと入れちゃってください。

さてPHPUnitっていうのはPHP標準ライブラリ仕様のPEARに入っているので PEARからインストールします。

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

続いて

# pear install phpunit/PHPUnit
downloading PHPUnit-4.0.18.tgz ...
Starting to download PHPUnit-4.0.18.tgz (2,981 bytes)
....done: 2,981 bytes
install ok: channel://pear.phpunit.de/PHPUnit-4.0.18
[root@localhost html]# phpunit -v
You have installed PHPUnit via PEAR. This installation method is no longer
supported and http://pear.phpunit.de/ will be shut down no later than
December, 31 2014.

Please read http://phpunit.de/manual/current/en/installation.html and
learn how to use PHPUnit from a PHAR or install it via Composer.

ん?なんか言われてる。

とりあえずバージョン確認

# phpunit --version
You have installed PHPUnit via PEAR. This installation method is no longer
supported and http://pear.phpunit.de/ will be shut down no later than
December, 31 2014.

Please read http://phpunit.de/manual/current/en/installation.html and
learn how to use PHPUnit from a PHAR or install it via Composer.

ふむ、調べた結果PEARじゃなくてComposerで落とせと。

更に調べるとPHPは5.3.3以上を推奨しているということで、まずはPHPのバージョンを5.5にあげます。 上げ方も別途かなぁ。 めんどくさいかもしれないけど、このブログにある

複数PHPバージョンを管理するphpbrew

http://deadcode.hatenablog.jp/entry/2014/05/20/162923

これみてくれればと思います。

とりあえずの環境なのでさくっと自分は5.5.19まであげちゃいました。

# php -v
PHP 5.5.19 (cli) (built: Nov 16 2014 09:53:48)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans

とりあえずテスト用のPHPを用意しているのでそいつと同じディレクトリに一旦落とすために そのファイルがあるディレクトリに移動。

PHPUnitについて最新版はここで確認してください。

https://packagist.org/packages/phpunit/phpunit

さてComposer.jsonの中身です。 まぁ適当に4.2.1あたり入れてみます。 なんでかというと気分です。 テンキー触ってたらそうなっただけです。

{
    "name": "phpunit",
    "description": "PHPUnit",
    "require": {
        "phpunit/phpunit": "4.2.1"
    },
    "config": {
        "vendor-dir": "PHPUnit"
    }
}

そしたらwgetでcomposer.pharを持ってくる

wget http://getcomposer.org/composer.phar

そしてインストール。 インストールすればComposer.json記載のPHPUnitがinstallされる。

# php composer.phar install

何かエラーが出てしまって再度落としたいとかっていうときは composer.lockを削除して

# composer install

これでできると思います。 composer.lockファイルを消さないとinstallしてもエラー出続けます。