マニュアル
PHP Manual

ドライバのテストの実行

PECL パッケージにはテストが含まれていませんが、 » Github で公開しています。 テストには二種類あります。.phpt のテストと PHPUnit のテストです。 PHPUnit のテストが .phpt のテストに置き換えられつつあります。

.phpt のテスト

.phpt のテストは、PHP の拡張モジュールをテストするときの標準的な手段です。 MongoDB ドライバを "make" でコンパイルしてから "make test" を実行すると、このテストができます。テストを実行するためには MongoDB が動いている必要があるので、 テストスイート自体の設定もしないといけません。 tests/mongo-test-cfg.inc ファイルを編集しましょう。

このあたりに関する詳細な情報は、 » GitHub にある貢献者向けガイドラインを参照ください。

PHPUnit のテスト

テストを実行するには、ドライバを Github からダウンロードしなければなりません (テストは tests/ ディレクトリにあります)。 さらに » PHPUnit も必要です。 PHPUnit は PEAR でインストールできます (いくつか要件があるので、 インストール手順を確認しなければなりません)。

テストの中には、警告やエラーが発生することを想定しているものもあります。 すべてのテストを成功させるには、php.ini の error_reportingE_STRICT | E_ALL に設定しなければなりません。 そうしないと、発生するはずの警告やエラーが出ないせいでいくつかのテストが失敗します。

テストを実行する際には、MongoDB サーバーをローカルのポート 27017 で動かしておきましょう。 バグ報告を出す前に、最新の開発版の MongoDB でテストを実行してみてください。 テストの中には、まだ安定版のリリースには含まれていない機能のテストが含まれていることがよくあります。

テストスイートで使っているデータベースは "phpunit" です。 もし自分のアプリケーションで "phpunit" という名前のデータベースを使っている場合は、 MongoDB が別のデータディレクトリを指すように設定してからテストを実行してください。

Github からダウンロードしたドライバのソースのメインディレクトリにいることを確認し、次のコマンドを実行します。


$ phpunit tests/MongoSuite.php

エラーのレポート

テストに失敗したりエラーが発生したりした場合は、 » バグトラッカーへのレポートをお願いします。 いくつかのテストがスキップされることがありますが、 これは通常の動作であり無視してもかまいません。

新しいテストの提供も歓迎します! あらゆる形式の、あらゆる機能に対する新しいテストの提供を楽しみに待っています。


マニュアル
PHP Manual