mcpField
T
test

test

github.com/automatticテスト・品質58380 回インストール1 日前に更新
リポジトリ

test について

WordPress ActivityPub プラグイン開発者向けのテストスキルです。PHPUnit、Playwright による E2E、JavaScript ユニットテストを扱い、テストパターン、デバッグ、カバレッジを案内します。

主な機能

  1. 01PHPUnit のテスト構成とパターン
  2. 02Playwright E2E の例
  3. 03テストグループとデータツールの案内
  4. 04カバレッジレポートの手順
  5. 05テストのデバッグと切り分け

活用シーン

  1. 01プラグイン機能の PHPUnit テスト作成
  2. 02管理画面や連合探索フローの検証
  3. 03失敗テストの絞り込みとデバッグ情報の取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/automattic/wordpress-activitypub --skill test

インストール後、Claude Code で/testを入力して読み込まれたか確認します。

詳細

ActivityPub のテスト

このスキルでは、WordPress ActivityPub プラグインのテストの作成と実行について説明します。

クイックリファレンス

テストコマンドと環境設定の詳細については、テストリファレンスを参照してください。

主なコマンド
  • PHP: npm run env-test
  • E2E: npm run test:e2e
  • JavaScript: npm run test:unit

PHPUnit テスト

テスト構成
<?php
namespace Activitypub\Tests;

use WP_UnitTestCase;

class Test_Feature extends WP_UnitTestCase {
    public function set_up(): void {
        parent::set_up();
        // Setup
    }

    public function tear_down(): void {
        // Cleanup
        parent::tear_down();
    }

    public function test_functionality() {
        // Test implementation
    }
}
よく使われるテストパターン

トランスフォーマーとハンドラーのテストパターンについては、テストリファレンス - 効果的なテストの作成を参照してください。

HTTP リクエストのモックやその他のユーティリティについては、テストリファレンス - テストユーティリティを参照してください。

テストグループ

@group アノテーションを使用します:

/**
 * @group activitypub
 * @group federation
 */
public function test_federation_feature() {
    // Test code
}

Playwright による E2E テスト

基本的な E2E テスト
const { test, expect } = require('@playwright/test');

test('ActivityPub settings page loads', async ({ page }) => {
    await page.goto('/wp-admin/options-general.php?page=activitypub');
    await expect(page.locator('h1')).toContainText('ActivityPub');
});
フェデレーションのテスト
test('WebFinger discovery works', async ({ page }) => {
    const response = await page.request.get('/.well-known/webfinger', {
        params: {
            resource: 'acct:admin@localhost:8888'
        }
    });

    expect(response.ok()).toBeTruthy();
    const json = await response.json();
    expect(json.subject).toBe('acct:admin@localhost:8888');
});

テストデータファクトリー

テストデータ(ユーザー、投稿、コメント)の作成については、テストリファレンス - テストユーティリティを参照してください。

カバレッジレポート

カバレッジの生成手順については、テストリファレンスを参照してください。

テストのデバッグ

デバッグ出力
// In tests
var_dump( $data );
error_log( print_r( $result, true ) );

// Run with verbose
npm run env-test -- --verbose --debug
テストの分離
# Run single test method
npm run env-test -- --filter=test_specific_method

# Stop on first failure
npm run env-test -- --stop-on-failure

コメント