ダウンロード サンプルファイル (1.9 KB)
本記事では、本連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテスト対象の例として、PHPUnitを利用した単体テストの方法を説明します。
はじめに
単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。
Webシステムは基本的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。
PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。
PHPUnitを利用して単体テストする場合のプロセスは
- テスト対象となるクラス、PHPプログラムの作成
- 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成
- 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述
- テスト実行、結果の確認
となります。
本記事では、本連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテスト対象の例として、PHPUnitを利用した単体テストの方法を説明します。
今回使用するライブラリは以下のとおりです。
| ライブラリ名 | 概要 |
| PHPUnit | phpで単体テストを行うライブラリ |
上記ライブラリを利用して各機能の実装を説明します。
対象読者
PHPでのWebアプリケーション開発について基本的なことを理解している方を対象とします。
サンプルアプリケーションの概要
本記事で作成するサンプルは、以下の表のとおりです。
| ファイル名 | 概要 |
| Util.php | 単体テスト対象となるクラス |
| config.php | Util.phpで使用するGoogle Map Keyを定義するPHP |
| UtilTest.php | Util.phpの単体テストケースクラス |
動作確認環境
- CentOS 5.3
- Httpd 2.2.14
- PHP 5.3.2
事前準備
PHPUnitは以下のコマンドでインストールします。
# pear channel-discover pear.phpunit.de # pear install phpunit/PHPUnit
インストール後、以下のコマンドでphpunitコマンドが使用できることを確認します。
# phpunit --version PHPUnit 3.4.13 by Sebastian Bergmann.
上記のようにPHPUnitのバージョンが表示されればインストール成功です。
PHPUnitのコードカバレッジ解析機能(後述)を利用するためにXdebug拡張モジュールをインストールします。
Linuxの場合
以下のコマンドでインストールします。
wget http://xdebug.org/files/xdebug-2.1.0RC1.tgz tar xvzf xdebug-2.1.0RC1.tgz cd xdebug-2.1.0RC1 phpize ./configure --enable-xdebug make make install
php.iniにxdebug.soを追加します。
extension=xdebug.so
Windowsの場合
Xdebug配布サイトより環境に合った5.3 VCのdllファイルをダウンロードして「php_xdebug.dll」に名前を変更後、PHPをインストールしたディレクトリ内のextディレクトリに配置します
php.iniにphp_xdebug.dllを追加します。
extension=php_xdebug.dll
インストール成否
Apacheを再起動してphpinfoでインストールの成否を確認します。「xdebug」の項目が表示されていればインストール成功です。
この記事は参考になりましたか?
- 目的に応じて適材適所で使うPHPライブラリ連載記事一覧
-
- PHPで作成する携帯会員サイトの基本
- PHPUnitでできる単体テスト
- PHPで行う動画変換(後編)
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

