2026年9月7日

2026年9月7日

WordPressのプラグインを自動テストする方法

はじめに

この記事では、開発者がWordPressプラグインを効率的にテストするために自動化ツールを使用する方法について説明します。特に、PHPUnitやWP-CLIといったツールを使ったテストスイートの作成とCI/CDパイプラインの設定を中心に解説します。

症状・背景

このテーマが必要になる主な場面:

  • 新しいプラグインの開発を始めたい時
  • 既存のプラグインに対するバージョンアップデートを適用したい時
  • テストコードが存在しない場合や、テストコードに問題がある場合
  • 安定したデプロイメントプロセスを確立したい場合

手順・設定方法

ステップ1: WordPress開発環境の準備

# WordPressソースコードとPHPUnitライブラリをクローンします。
git clone https://github.com/WordPress/wordpress.git
composer require --dev phpunit/phpunit

# WP-CLIでテストデータベースを作成します。
wp db create --dbname=test_db_name

ステップ2: テストスイートの作成と設定

# WordPressプラグインディレクトリに移動し、PHPUnitテストクラスを追加します。
cd wordpress/wp-content/plugins/my-plugin
mkdir tests && touch tests/MyPluginTest.php

# MyPluginTest.phpファイルを開き、次の内容を記述します。
<?php
use PHPUnit\Framework\TestCase;

class MyPluginTest extends TestCase {
    public function testSampleFunction() {
        $this->assertTrue(true);
    }
}

ステップ3: CI/CDパイプラインの構築

# GitHub ActionsでPHPUnitテストを実行するためのワークフローを作成します。
touch .github/workflows/phpunit.yml
echo "name: PHP Unit" >> .github/workflows/phpunit.yml
echo "on:" >> .github/workflows/phpunit.yml
echo "  push:" >> .github/workflows/phpunit.yml
echo "    branches:" >> .github/workflows/phpunit.yml
echo "      - main" >> .github/workflows/phpunit.yml
echo "jobs:" >> .github/workflows/phpunit.yml
echo "  test:" >> .github/workflows/phpunit.yml
echo "    runs-on: ubuntu-latest" >> .github/workflows/phpunit.yml
echo "    steps:" >> .github/workflows/phpunit.yml
echo "      - name: Set up PHP" >> .github/workflows/phpunit.yml
echo "        uses: shivammathur/setup-php@v2" >> .github/workflows/phpunit.yml
echo "        with:" >> .github/workflows/phpunit.yml
echo "          php-version: 7.4" >> .github/workflows/phpunit.yml
echo "      - name: Install dependencies" >> .github/workflows/phpunit.yml
echo "        run: composer install --prefer-dist --no-interaction" >> .github/workflows/phpunit.yml
echo "      - name: Run tests" >> .github/workflows/phpunit.yml
echo "        run: vendor/bin/phpunit"

ステップ4: テスト結果の確認とトラブルシュート

# GitHub Actionsページでワークフロー実行を確認し、テスト結果をレビューします。
git push origin main

注意事項

  • テストコードは継続的に更新およびメンテナンスを行うことが重要です。
  • 安定したテスト環境と適切なCI/CDパイプラインの設定が必要です。
  • セキュリティ上の注意点として、外部からアクセスできるサーバー上で実行する際には、ネットワークセキュリティポリシーを適切に整備します。
  • パフォーマンス上は、テストコードが冗長にならないように気をつけ、必要最小限のテストケースでカバレッジを保つことが推奨されます。

まとめ

1. 開発環境の準備: WordPressとPHPUnitのインストール

2. テストクラスの作成: プラグイン固有のテストケースを作成

3. CI/CDパイプラインの設定: GitHub ActionsやTravis CIを用いて自動化

4. テスト結果の確認: 定期的にテスト結果をレビューして改善点を見つける

5. セキュリティとパフォーマンス: テストコードの品質管理

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ