doctrine-fixtures-foundry について
Symfony 向けに Doctrine Fixtures Foundry のファクトリー、状態、ストーリー、テストデータの作成を案内するスキルです。テスト設定や Foundry v1 から v2 への移行にも対応します。
主な機能
- 01最小限のデフォルト値を持つエンティティファクトリー
- 02不変の名前付き状態と関連設定
- 03ストーリーによる共通シナリオの整理
- 04Foundry v1 から v2 への移行ガイド
活用シーン
- 01テスト用の関連エンティティ作成
- 02再現可能な開発データの生成
- 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 に移行する場合。
デフォルトのワークフロー
- エンティティごとにファクトリーを生成し、
defaults()には必須フィールドと一意のフィールドだけを指定します。 - 各バリエーションを不変の名前付きステート(
admin()、published())として表現します。 - ファクトリーでデフォルトの関連データを
OtherFactory::new()によって作成します。 - 共通のシナリオをストーリーにまとめ、テストクラスごとにデータベースをリセットします。
Factory::assert()を使って、実オブジェクトとリポジトリを検証します。
ガードレール
- 一意のカラムにはすべて
self::faker()->unique()を使用してください。使用しないとテストが衝突します。 ->object()や->_real()を呼び出さないでください。v2 ファクトリーは実オブジェクトを返します。- 失敗を再現できるようにする必要がある場合は、Faker のシード(
FOUNDRY_FAKER_SEED)を設定してください。 - テスト内でインラインに作成できる単純なデータのために、ファクトリーを作らないでください。
段階的な情報開示
- 実行方針とリスク管理には、このファイルを使用してください。
- 実装の詳細が必要な場合は、リファレンスを開いてください。
出力要件
- 最小限のデフォルト値、名前付きステート、関連データのデフォルト設定を備えたファクトリー。
- 複数のテストで必要になる場合は、共通シナリオ用のストーリー。
- Foundry 拡張機能と
#[ResetDatabase]を組み込んだテストセットアップ。
リファレンス
reference.md
コメント
Markdown 対応