Community研究&データ分析github.com

netresearch/typo3-testing-skill

TYPO3拡張テストを作成・管理するためのエージェントスキル(Claude Code対応)

typo3-testing-skill とは?

このスキルは、Claude CodeなどのAIエージェントがTYPO3拡張機能のテストを作成・管理するための専用スキルです。主な機能として、テスト環境のセットアップ、テストケースの生成、データプロバイダの作成、モックオブジェクトの管理、そして機能テストや単体テストの実行をサポートします。これにより、開発者はテスト駆動開発(TDD)のワークフローを効率的に進めることができ、TYPO3プロジェクトにおけるテストの品質とカバレッジを向上させることができます。特に、TYPO3特有のテスト要件(データベーステスト、機能テスト、ユニットテスト)に対応している点が特徴です。また、Composerベースのテスト環境やDockerを使用したテスト実行にも対応しており、CI/CDパイプラインとの統合も容易です。このスキールは、TYPO3の拡張開発において、テストの自動化と標準化を推進する開発者にとって強力なツールとなります。

対応✓Claude Code~Codex CLI~Cursor
npx skills add netresearch/typo3-testing-skill

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

typo3-testing-skill は何をしますか?

TYPO3拡張テストを作成・管理するためのエージェントスキル(Claude Code対応)

概要

このスキルは、Claude CodeのようなAIエージェントがTYPO3拡張機能のテストを効率的に作成・管理できるようにするためのものです。テスト駆動開発のワークフローをサポートし、テストケースの自動生成、テスト環境のセットアップ、テスト実行のための指示を提供します。

機能

  • テスト環境のセットアップ: TYPO3テストフレームワーク(phpunit/phpunit, typo3/testing-framework)をComposerでインストール
  • テストケース生成: ユニットテスト、機能テスト、データベーステストのテンプレート生成
  • 実行: コマンドラインからのテスト実行指示
  • モック管理: TYPO3特有のモックオブジェクトの生成サポート
  • CI統合: CI/CDパイプライン(GitHub Actions, GitLab CIなど)向けのテスト設定

対応プラットフォーム

  • Claude Code
  • Cursor
  • その他のAIエージェント

使用方法

1. テスト環境のセットアップ

composer require --dev typo3/testing-framework

2. テスト設定ファイルの生成

phpunit.xml.dist をプロジェクトルートに作成します:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
         backupGlobals="true"
         bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true">
    <testsuites>
        <testsuite name="unit">
            <directory>Tests/Unit</directory>
        </testsuite>
        <testsuite name="functional">
            <directory>Tests/Functional</directory>
        </testsuite>
    </testsuites>
    <php>
        <ini name="display_errors" value="1"/>
        <env name="TYPO3_CONTEXT" value="Testing"/>
    </php>
</phpunit>

3. テストの作成

ユニットテストの例

<?php

namespace MyVendor\MyExtension\Tests\Unit;

use TYPO3\TestingFramework\Core\Unit\UnitTestCase;

class MyClassTest extends UnitTestCase
{
    /**
     * @test
     */
    public function myMethodReturnsExpectedValue(): void
    {
        $subject = new \MyVendor\MyExtension\MyClass();
        $result = $subject->myMethod();
        self::assertEquals('expected', $result);
    }
}

データベーステストの例

<?php

namespace MyVendor\MyExtension\Tests\Functional;

use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;

class MyRepositoryTest extends FunctionalTestCase
{
    protected array $testExtensionsToLoad = [
        'typo3conf/ext/my_extension'
    ];

    /**
     * @test
     */
    public function findAllReturnsAllRecords(): void
    {
        $this->importCSVDataSet(__DIR__ . '/Fixtures/Records.csv');
        $subject = $this->getContainer()->get(\MyVendor\MyExtension\Domain\Repository\MyRepository::class);
        $result = $subject->findAll();
        self::assertCount(3, $result);
    }
}

4. テストの実行

# ユニットテスト実行
vendor/bin/phpunit -c phpunit.xml.dist --testsuite unit

# 機能テスト実行(データベースが必要)
vendor/bin/phpunit -c phpunit.xml.dist --testsuite functional

注意事項

  • データベーステストを実行するには、事前にデータベースサーバー(MySQL/MariaDB)が起動している必要があります。
  • TYPO3テストフレームワークはPHP 7.4以上を推奨します。
  • このスキルはClaude Codeに最適化されていますが、他のAIエージェントでも利用可能です。

ライセンス

MIT

関連スキル