序文

「いつになったら PHPUnit のドキュメントを書くの?」この質問に対する私の答えは、 これまでずっとこうでした。「PHPUnit のドキュメントなんか必要ありません。 JUnit のドキュメントを読むなり JUnit の書籍を買うなどして、Java や JUnit のコードを PHP や PHPUnit に置き換えればいいだけじゃないですか。」 O'Reilly のドイツオフィスからやってきた Barbara Weiss と Alexandra Follenius にこの話をしたところ、もう一度考え直して PHPUnit についてのドキュメントを書くように勧められました。

前提条件

本書で扱う PHPUnit は、PHP 言語でテスト駆動開発を行うための オープンソースのフレームワークです。この版では PHPUnit のバージョン 2.3 を扱います。しかし、大半の例は PHPUnit バージョン 2.0 から 2.2 でも動作します。後半の「PHP 4 用の PHPUnit」では、 PHP 4 向けの旧バージョンの PHPUnit (現在は活発には開発されていません) を扱います。

本書を読むには、PHP 5 でのオブジェクト指向プログラミングを 十分理解している必要があります。ドイツ人のみなさんには、 [Bergmann2005] を PHP 5 でのオブジェクト指向プログラミングの入門としてお勧めします。 また、Andi Gutmans と Stig Bakken、Derick Rethans によって書かれたすばらしい英語の書籍 [GuBaRe2005] もあります。

本書はフリーです

本書は、Creative Commons ライセンスのもとで公開しています。 最新のバージョンは、常に http://www.phpunit.de/pocket_guide/ にあります。お望みなら、自由に配布したり内容を変更したりできます。 あなたが独自に変更したバージョンを公開されるのなら、 にフィードバックやパッチを送っていただければありがたいです。

本書で使用している規約

以下に、本書で使用している表記の規約を示します。

斜体

新しい用語・URL・email アドレス・ファイル名・拡張子・パス名・ ディレクトリ・Unix ユーティリティを表します。

等幅

コマンド・オプション・スイッチ・変数・関数・クラス・名前空間・ メソッド・モジュール・パラメータ・値・オブジェクト・ ファイルの内容・コマンドの出力結果を表します。

等幅の太字

ユーザが入力するコマンドやその他のテキストを表します。

等幅の斜体

ユーザが指定した値に置き換えられるテキストを表します。

本文と離れた位置に以下の形式で記述されている内容には、 十分注意してください。

注意

ちょっとしたコツやおすすめの方法、その他一般的な注意点です。 本文で扱っている内容についての有益な補足情報が含まれます。

警告

これは、警戒すべき点についての注意です。

謝辞

JUnit を作成した Kent Beck および Erich Gamma に感謝します。 JUnit に影響を受けたのが PHPUnit を作成するきっかけとなりました。 また、Kent Beck については "JUnit Pocket Guide" [Beck2004] を書いてくださったことにも感謝します。ここから影響を受け、 私は本書を書きました。O'Reilly で本書のスポンサーになっていただいている Allison Randal、Alexandra Follenius そして Barbara Weiss に感謝します。

PHP 5 の骨格となる Zend Engine 2 を開発された Andi Gutmans、Zeev Suraski そして Marcus Börger に感謝します。Xdebug を開発された Derick Rethans に感謝します。この PHP 拡張モジュールのおかげで、PHPUnit にコードカバレッジ機能をもたせることができました。最後に、Phing の PHPUnit タスクを書かれた Michiel Rook に感謝します。