20

Smyfony2 と Doctrin2 では、次の例を使用してデータ フィクスチャを作成できます: http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html

私が望むのは、この概念をテストに使用して、セットアップ/ティアダウンで機能テスト用の純粋なテスト データ環境を作成できるようにすることです。機能テスト中に特定のテスト専用フィクスチャのセットを実行するにはどうすればよいですか? また、これらのフィクスチャを標準フィクスチャから分離して、コンソール コマンドがそれらを無視するようにするにはどうすればよいですか?

doctrine:fixtures コンソール コマンドの機能を複製し、テスト フィクスチャを別の場所に保存する方法があるようです。誰かがより良い解決策を持っていますか?

4

2 に答える 2

17

最も簡単な方法は、フィクスチャを別のフォルダーに配置してから、php app/console doctrine:fixtures:load --fixtures=../src/Acme/TestBundle/DataFixtures/ORM/testコマンドでロードすることです。フィクスチャ オプションは、アプリ フォルダからの相対パスを指している必要があります。

その後、必要に応じて、データを初期、テストなどに分割したり、開発、テスト、ステージング、製品フィクスチャを作成したりできます。

それらを混同したい場合は、私がしたことよりも良い解決策を知りません.すべてのフィクスチャが存在する「テンプレート」フォルダーを作成します.devフォルダーに、適切なフィクスチャクラスを拡張する1つのクラスを作成しますテンプレートを作成し、調整が必要なものを調整します (getOrderメソッドのオーバーライドなど)。これは完璧ではなく、fixtures:load コマンドを拡張して複数のパスを取ることを考えることができると思いますが、私にとってはうまくいきます。

于 2012-08-05T17:50:01.667 に答える