パッチのテストは、WordPress のリリースの品質を保証する重要なパートです。
Playground で Core チケットをテストする
一部のチケットは、WordPress Playground を使用することで、独自のローカル環境を構築することなくテストできます。WordPress Playground は、実際の Web サイトに影響を与えることなく、WordPress を試したり学習したりできるオンラインプラットフォームです。安全で管理された環境で、さまざまな機能、デザイン、設定を試すことができる仮想サンドボックスです。WordPress Playground の詳細についてはこちらをご覧ください。また、Playground でコアパッチをテストする方法については、テストチームのハンドブックをご覧ください。
VVV を使用しない設定
VVV を使用している場合は、以下のセクションはスキップしてください。
Grunt は、Trac にアップロードされたパッチをテストするためのコマンドランナーです。Grunt を使うには以下のステップに従ってください:
- 開発環境に
nodejsとnpmをインストールします。 - https://develop.svn.wordpress.org/ にある develop WordPress リポジトリをクローンします。
npm installを実行して、すべての依存関係を取得します。npm run grunt buildを実行して、完全にビルドされたバージョンを取得します。- サーバーのルートとして
/buildを使うように設定します (開発環境の設定によって異なります)。 srcへの変更を/buildに反映させるために、作業中にnpm run grunt watchを実行する。- 別の方法として、/src をドキュメントルートとして使うこともできます。これは、PHP を中心とした開発には便利です。
npm run grunt build -- --devを一度実行する必要がありますが、その後は JavaScript/CSS を変更しない限り、npm run grunt watchはまったく必要ありません。その場合は、npm run grunt watchの代わりにnpm run grunt watch -- --devを使用してください。
VVV を使用した設定
VVV は WP コア開発をサポートしており、config.yml ファイルに設定があります。
VVV を使用する場合、完全な WP コア開発ビルドを含むサイトを追加できます。config/config.yml を開くと、このためのサイトがあらかじめ用意されていますが、そのままでは無効になっています。wordpress-trunk を探し、skip_provisioning を true から false に変更すると、以下のようになります:
wordpress-trunk:
skip_provisioning: true
description: "An git based WP Core trunk dev setup, useful for contributor days, Trac tickets, patches"
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template-develop.git
hosts:
- trunk.wordpress.test
custom:
vcs: git # using 'svn' will force this vcs
保存したら、vagrant up --provision で再プロビジョニングします。VVV は、コアでの作業とテストのための開発環境をダウンロードして準備します。この新しいサイトは www/wordpress-trunk/public_html フォルダーに配置されます。
サイト内には src と build の2つのフォルダーがあります。src フォルダーで行われた変更は grunt というツールで処理され、build フォルダーに格納されます。これは www/wordpress-trunk/public_html フォルダーで npm run grunt watch コマンドを実行することで自動的に行わます。例:
vagrant ssh
cd /srv/www/wordpress-trunk/public_html
npm run grunt watch
Grunt を使用したテスト
Grunt のセットアップが完了したら、npm run grunt patch:#### と入力し、### を Trac のチケット番号かパッチの URL に置き換えてください。これでパッチがダウンロードされ、開発環境に変更が適用されます。
注: Cannot find module 'grunt-cli/bin/grunt' エラーが表示された場合は、以下を実行してから再度試してください:
rm -rf node_modules && npm install
環境をテストする準備はできましたか ? npm run grunt test を使って自動テストを実行します。このステップでは、PHPUnit がインストールされている必要があることに注意してください。
もしあなたがコミッターなら、コードをコミットする前に必ず npm run grunt precommit を実行してください。
コミッターの場合は、コード、特にフロントエンド (CSS/JS) に関わるコードをコミットする前に、必ず npm run grunt precommit を実行してください。