はじめに
本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介しています。今回は前回に引き続きZend Frameworkで作成したのMVCアプリケーションのための単体テストを作成するためのコンポーネント、Zend_Testについて紹介します。
前回はZend_Testコンポーネントを利用するための環境設定から、簡単なテストの記述とテストの実行方法までを紹介しました。今回からは、テストにどのような条件を記述できるかについてより詳細に解説します。Zend_Testコンポーネントは通常のテストを記述するためのZend_Test_PHPUnitクラスと、データベース用のテストを記述するためのZend_Test_PHPUnit_Dbクラスの、2つのクラスが提供されています。今回はまず、このうちZend_Test_PHPUnitクラスの紹介を行いたいと思います。
Zend_Test_PHPUnitクラスには、表示に関するもの、リクエストの処理に関するもの、リダイレクトに関するもの、リスポンスに関するものの大きく4種類のテストが用意されています。今回は、これらについてテストの記述方法を順番に説明していきます。
対象読者
PHPの基本構文やZend FrameworkのMVC環境の簡単な利用方法は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。
必要な環境
Zend FrameworkはPHP 5.2.4以降とWebサーバがインストールされている環境で利用可能です。本稿ではWebサーバとしてApache 2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。
以下に、今回アプリケーション作成/動作確認に用いた環境を示します(インストールにあたっては最新安定版の使用を推奨します)。各項目の詳細なインストール手順は、「サーバサイド技術の学び舎 - WINGS」より「サーバサイド環境構築設定手順」を参照ください。
- Windows XP SP3
- PHP 5.3.5
- Apache 2.2.17
LinuxやFreeBSDなどUNIX系OSをお使いの方もコマンドはほぼ一緒なので、パスなどは適宜読み替えてください。
Zend_Testのテストの種類
今回の記事ではZend_Testコンポーネントで記述できるテストのうち、Zend_Test_PHPUnitクラスが提供しているものについて紹介します。これらは大きく4種類に分類することができます。
種類 | 説明 |
出力 | 表示される内容(出力)が、ある基準を満たしているかをテストする |
リクエスト | あるリクエストが、どのように処理されているかを調べるテスト。具体的には、どのようなルーティングをされたかをチェックする |
リダイレクト | リダイレクト処理がされたかどうかを確認するテスト |
リスポンス | リスポンス内容やHTTPヘッダの内容を調べるテスト |
これらを順番に紹介していきます。