mcpField
D
doctrine-fixtures-foundry

doctrine-fixtures-foundry

github.com/dev-toolingsテスト・品質22786 回インストール3 週間前に更新
リポジトリ

doctrine-fixtures-foundry について

Symfony 向けに Doctrine Fixtures Foundry のファクトリー、状態、ストーリー、テストデータの作成を案内するスキルです。テスト設定や Foundry v1 から v2 への移行にも対応します。

主な機能

  1. 01最小限のデフォルト値を持つエンティティファクトリー
  2. 02不変の名前付き状態と関連設定
  3. 03ストーリーによる共通シナリオの整理
  4. 04Foundry v1 から v2 への移行ガイド

活用シーン

  1. 01テスト用の関連エンティティ作成
  2. 02再現可能な開発データの生成
  3. 03旧 Foundry ファクトリーの移行

インストール

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

$npx skills add https://github.com/dev-toolings/superpowers-symfony --skill doctrine-fixtures-foundry

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

同梱ファイルreference.md

詳細

Doctrine Fixtures Foundry(Symfony)

使用する場面

  • Doctrine エンティティのテストデータや開発データを作成する場合。
  • Foundry ファクトリー、名前付きステート、シーケンス、ストーリーを作成する場合。
  • 手作業でセットアップせずに、テスト用の関連エンティティを構築する場合。
  • レガシーな Foundry v1 ファクトリーや ->object() 呼び出しを v2 に移行する場合。

デフォルトのワークフロー

  1. エンティティごとにファクトリーを生成し、defaults() には必須フィールドと一意のフィールドだけを指定します。
  2. 各バリエーションを不変の名前付きステート(admin()、published())として表現します。
  3. ファクトリーでデフォルトの関連データを OtherFactory::new() によって作成します。
  4. 共通のシナリオをストーリーにまとめ、テストクラスごとにデータベースをリセットします。
  5. Factory::assert() を使って、実オブジェクトとリポジトリを検証します。

ガードレール

  • 一意のカラムにはすべて self::faker()->unique() を使用してください。使用しないとテストが衝突します。
  • ->object() や ->_real() を呼び出さないでください。v2 ファクトリーは実オブジェクトを返します。
  • 失敗を再現できるようにする必要がある場合は、Faker のシード(FOUNDRY_FAKER_SEED)を設定してください。
  • テスト内でインラインに作成できる単純なデータのために、ファクトリーを作らないでください。

段階的な情報開示

  • 実行方針とリスク管理には、このファイルを使用してください。
  • 実装の詳細が必要な場合は、リファレンスを開いてください。

出力要件

  • 最小限のデフォルト値、名前付きステート、関連データのデフォルト設定を備えたファクトリー。
  • 複数のテストで必要になる場合は、共通シナリオ用のストーリー。
  • Foundry 拡張機能と #[ResetDatabase] を組み込んだテストセットアップ。

リファレンス

  • reference.md

コメント