tanaka's Programming Memo

プログラミングについてのメモ。

macでPHPUnit

PHPのテスト用のフレームワークPHPUnitを使って、mac環境でサーバの動作テストを構築したい。

公式サイト:PHPUnit – The PHP Testing Framework

インストール

Xcodeを起動しておく

事前に、Xcodeのセットアップを終えている必要がある。Xcodeを起動して、規約の許可をしていなければ許可をして、一度起動しておく。起動したら閉じてよい。

autoconfをセットアップする

autoconfやphp.hが必要かもしれないので、ターミナルを起動して、以下を実行する。

brew install autoconf
brew install automake
xcode-select --install

phpunitのインストール

PHPUnit マニュアル – 第1章 PHPUnit のインストールを参照してインストールする。PEARは古くなったので、pharでインストールする。ターミナルから以下を実行。

curl https://phar.phpunit.de/phpunit.phar > phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit
phpunit --version

xdebug.soにパスを通す

  • xdebugを利用するために、xdebug.soのパスをphp.iniに設定する。xdebug.soは、試したmacではusr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.soにある。
  • php.iniを編集するためにターミナルで以下を入力。
sudo vi /etc/php.ini
  • zend_extensionの後ろに、ルートからのパスを追加する。
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
  • [esc][:][w][q]で保存
  • sudo apachectl restartでapacheを再起動
  • phpのinfoを確認して、xdebug項目があるかを確認する。

以上でインストール完了。ターミナルで以下を入力して、バージョンが表示されればよい。

phpunit --version

PHPUnitの書き方

PHPUnit マニュアル – 第2章 PHPUnit 用のテストの書き方を参照して、様々なテストの書き方を確認する。データベースのテストについては、PHPUnit マニュアル – 第8章 データベースのテストを参照。

sebastianbergmann/money · GitHubリポジトリをダウンロードすると、MoneyクラスというPHPUnitのテストがある参考用のリポジトリが得られる。

PHPUnitの実行

以下で、テストファイル名で指定したphpファイルに記載されているテストを実行することができる。テストする場所は、httpサーバの公開ディレクトリ下である必要はない。

phpunit テストファイル名


Moneyクラスのテストは以下の通り。

phpunit --bootstrap src/autoload.php test/MoneyTest