mcpField
T
typo3-testing

typo3-testing

github.com/dirnbauerテスト・品質3365 回インストール13 週間前に更新
リポジトリ

typo3-testing について

typo3-testingは、TYPO3拡張機能のテストスイートを改善する開発者向けスキルです。評価レポートを起点に、テスト種別の選択、スクリプト、CIの資料を提供します。

主な機能

  1. 0173項目以上のチェックによる評価
  2. 02テスト種別の選択ガイド
  3. 03テスト環境の設定・検証スクリプト
  4. 04ユニット・機能・アーキテクチャテストの指針
  5. 05CIとテスト障害の参考資料

活用シーン

  1. 01既存のTYPO3テストスイートの評価
  2. 02データベース処理のテスト計画
  3. 03runTests.shと品質チェックの設定

インストール

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

$npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-testing

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
.php-cs-fixer.dist.php
AGENTS.md
bootstrap.php
codecov.yml
FunctionalTests.xml
FunctionalTestsBootstrap.php
github-actions-e2e.yml
github-actions-tests.yml
infection.json5
Makefile
phpat.neon
assets/Build/playwright/
.nvmrc
package.json
playwright.config.ts
assets/Build/playwright/tests/playwright/
config.ts
assets/Build/playwright/tests/playwright/accessibility/
modules.spec.ts
assets/Build/playwright/tests/playwright/e2e/
backend-module.spec.ts
assets/Build/playwright/tests/playwright/fixtures/
setup-fixtures.ts
assets/Build/playwright/tests/playwright/helper/
login.setup.ts
assets/Build/Scripts/
runTests.sh
assets/docker/
codeception.yml
docker-compose.yml
assets/example-tests/
ExampleAcceptanceCest.php
ExampleFunctionalTest.php
ExampleUnitTest.php
assets/fixtures/
be_users.csv
pages.csv
README.md
sys_category.csv
tt_content.csv

詳細

TYPO3 テストスキル

評価を先に行うルール

既存のテストスイートを強化する場合(ゼロから作成する場合を除く)は、最初に次を実行します。

automated-assessment typo3-testing

より広範なカバレッジを得るには、typo3-conformance や enterprise-readiness などのほかのスキルをインストールしてください。

73 項目以上のチェックポイント(PHPUnit、PHPStan、runTests.sh、CaptainHook、アーキテクチャ、ミューテーション、CI マトリックス、カバレッジ)からギャップレポートを生成します。

このレポートをタスクリストとして使用してください。 手動でテストを書く前に、機械的に検出できる問題を解決します。

対象
  • 「テストを強化/改善/堅牢化する」、「カバレッジ/ミューテーションを増やす」
  • 「エンタープライズグレード」、「A+ のテスト」
対象外
  • ゼロからの作成、特定のテストの作成、失敗のデバッグ

TYPO3 拡張機能のテストに関するリファレンスです。

テスト種別の選択

種別使用する場面速度
単体テスト純粋なロジック、DB を使わない処理、バリデーター、ユーティリティ高速
機能テストDB 操作、リポジトリ、コントローラー中速
アーキテクチャテストレイヤーの制約、依存関係のルール(phpat)高速
E2E(Playwright)ユーザーワークフロー、ブラウザー、アクセシビリティ低速
統合テストHTTP クライアント、API のモック、OAuth フロー中速
ミューテーションテストテスト品質の検証、カバレッジ 70%以上CI/リリース

runTests.sh - 必須

Build/Scripts/runTests.sh は必須です。実行可能であり、-s(スイート)と -p(PHP バージョン)をサポートする必要があります。

Git フック

Netresearch のデフォルト設定:Build/captainhook.json(composer.json の extra.captainhook.config で宣言されています)。確認するには、次を実行します:ls Build/captainhook.json .git/hooks/pre-commit 2>/dev/null(references/captainhook-setup.md を参照)。

コマンド

# Setup (from skill dir)
scripts/setup-testing.sh [--with-e2e]
scripts/validate-setup.sh
scripts/generate-test.sh <Type> <Class>

# Run (always via runTests.sh)
Build/Scripts/runTests.sh -s unit|functional|phpstan|cgl|mutation|ci

修正前にテストが失敗し、修正後に成功することを確認します。バグ修正では、references/tdd-discipline.md の厳格な TDD サイクルに従ってください。出力を貼り付けずに「テスト済み/検証済み」と主張してはいけません。

スコア要件

単体テストが必要です(カバレッジ 70%以上)。DB 操作には機能テストが必要です。アーキテクチャの評価項目には phpat が必須 です。PHPStan のレベルは 10 です。

リファレンス(references/ 内、拡張子 .md は省略)

unit-testing.md | functional-testing.md | functional-test-patterns.md | integration-testing.md | e2e-testing.md | accessibility-testing.md | ddev-testing.md | test-runners.md | architecture-testing.md | ci-debugging.md | ci-cd.md | quality-tools.md | mutation-testing.md | fuzz-testing.md | performance-testing.md | typo3-v14-final-classes.md | mock-validity.md | javascript-testing.md | captainhook-setup.md | enforcement-rules.md | event-dispatch-testing.md | crypto-testing.md | test-environment-guards.md | sonarcloud.md | typo3-ci-config-patterns.md | tdd-discipline.md | ci-workflows-meta-package.md | synthetic-secret-fixtures.md | release-workflow-validation.md | asset-templates-guide.md | backend-module-render-verification.md | backend-user-access-testing.md

コンテンツに応じた参照先
  • TYPO3 のバージョン間で CI が失敗する → ci-debugging.md
  • TSFE コンテキストを使用する機能テスト → functional-testing.md
  • 依存関係のバージョン間でモックが失敗する → mock-validity.md
  • 画像/拡張機能のテスト、Environment::initialize、NormalizedParams の TypeError、backupGlobals → test-environment-guards.md
  • try/catch を使ったイベントディスパッチャーのテスト → event-dispatch-testing.md
  • メタパッケージ、typo3-ci-workflows、no-plugins → ci-workflows-meta-package.md
  • 偽のシークレット、プッシュ保護、cs-fixer concat → synthetic-secret-fixtures.md
  • 使用済みタグ、タグ付け前の検証 → release-workflow-validation.md
  • バックエンドモジュールの 500 エラー/誤った ViewHelper 名前空間/暴走する canvas → backend-module-render-verification.md
  • 管理者以外の BE ユーザーによるアクセス制御 → backend-user-access-testing.md

リンク

TYPO3 テストドキュメント | Tea 拡張機能 | phpat | Infection


クレジットと帰属

このスキルは、 Netresearch DTT GmbH による素晴らしい取り組みを基にしています。

元のリポジトリ:https://github.com/netresearch/typo3-testing-skill

著作権 (c) Netresearch DTT GmbH — 方法論とベストプラクティス(MIT / CC-BY-SA-4.0)

このスキルコレクションの形成に役立った、TYPO3 コミュニティへの寛大なオープンソースの貢献に対し、Netresearch DTT GmbH に心より感謝します。 このスキルコレクション向けに webconsulting.at が適応しました

コメント