PHPUnit を使用した WordPress プラグインの統合テスト用のブートストラップ。
composer require --dev jdgrimes/wpppb
まず、 tests
ディレクトリを含む WordPress 開発リポジトリのローカル チェックアウトが必要です。これを取得するための推奨される方法は、特に WordPress コアに貢献する予定がある場合、VVV を使用することです。 WPPPB は WordPress コアにすでに含まれているテスト ツールに基づいて構築されているため、それらがなければ機能しません。
WordPress のtests
ディレクトリのローカル コピーを取得したら、WPPPB のセットアップ スクリプトを実行できます。
vendor/bin/wpppb-init
プロンプトに答えれば準備完了です。
テストは、プロジェクトのルート (つまり、Composer によって追加されたvendor
ディレクトリの横) に作成されるtests
ディレクトリに配置されます。プラグインのソース (圧縮されて WordPress サイトにインストールされる部分) は、プロジェクト自体のルートではなく、これら 2 つのディレクトリと並んでsrc
ディレクトリにあることが期待されます。ファイル構造の例は次のようになります。
- src/
- my-plugin.php
- includes/
- etc.
- tests/
- vendor/
いくつかの変更を加えれば、別のディレクトリ構造で WPPPB を使用できる可能性がありますが、これがデフォルトで想定されている構造です。
通常と同じように PHPUnit テストを実行できます。
phpunit
プラグインのアンインストール ルーチンをテストするなど、他の素晴らしいことを行うこともできます。
(デフォルトのブートストラップは Composer の PHP オートローダーを利用するため、PHP 5.3 が必要であることに注意してください。PHP 5.2 での使用方法については、こちらを参照してください。)
このプロジェクトの目的は、WordPress コアのテストスイートを使用してプラグインの統合テストを実行したいプラグイン開発者にブートストラップを提供することです。その目的は、テストを可能な限り現実的なものにする実装を提供することで、これを簡単にするだけでなく、より良いものにすることです。
この目的を達成するために、ローダーはプラグインをリモートでアクティブ化し、通常と同じように WordPress にプラグインをロードさせることで機能します。これにより、通常行われるように、 muplugins_loaded
アクションでプラグインを手動で含めてアクティブ化するよりも、より現実的なテストが可能になります。
このプロジェクトのコードは、MIT ライセンスに基づいて提供されています。