ダウンロード サンプルファイル (11.1 KB)
本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介しています。今回は前回に引き続きZend Frameworkで作成したのMVCアプリケーションのための単体テストを作成するためのコンポーネント、Zend_Testについて紹介します。
はじめに
本連載では、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ヘッダの内容を調べるテスト |
これらを順番に紹介していきます。
この記事は参考になりましたか?
- Zend Framework入門連載記事一覧
-
- テスト記述の詳細 - Zend_Testのメソッド -
- MVCフレームワークで単体テストを実施する - Zend_Test -
- PHPアプリでメッセージキューサーバを活用する - Zend_Queue -
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、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
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
