私は(phpunitを使って)いくつかのテストを作成したいSymfony2 + Doctrine2上に構築されたアプリケーションを持っています。phpunitを使ったテストのための一時的なDoctrine2フィクスチャ
たとえば、固有のバリデータをDBのレコードに対してテストしたい場合は、私が扱うことのできるレコードを作成したいが、テストの後でもう必要ない。一時的(または仮想)のフィクスチャを作成する方法はありますか、手動で作成して削除する必要がありますか?
私は(phpunitを使って)いくつかのテストを作成したいSymfony2 + Doctrine2上に構築されたアプリケーションを持っています。phpunitを使ったテストのための一時的なDoctrine2フィクスチャ
たとえば、固有のバリデータをDBのレコードに対してテストしたい場合は、私が扱うことのできるレコードを作成したいが、テストの後でもう必要ない。一時的(または仮想)のフィクスチャを作成する方法はありますか、手動で作成して削除する必要がありますか?
あなたはDoctrine DataFixtureを使用し、ユニットテストクラスのあなたのセットアップ方法でこのコードを置くことができます。
$loader = new Doctrine\Common\DataFixtures\Loader;
$loader->loadFromDirectory('/path/to/MyDataFixtures');
$purger = new Doctrine\Common\DataFixtures\Purger\ORMPurger($em);
$executor = new Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger);
$executor->execute($loader->getFixtures());
あなたはDataFixtureクラスを作成方法を確認するために、ドキュメントを参照することができます。ここで
がそれを行う方法の良い例です。Symfony 2 + Doctrine 2 + PHPUnit 3.5: Serialization of closure exception
PS:私はあなたがこの例では、作業の$ EM(EntityManagerを)持っていると仮定します。
または $ loader = new \ symfony \ Bridge \ Doctrine \ DataFixtures \ ContainerAwareLoader(static :: $ kernel-> getContainer()); ContainerAwareInterfaceを実装するフィクスチャを使用する必要がある場合。 また、ありがとう!この答えを使っただけです。 – skqr
PRMPurgerは本当に$ emを必要としますか? – Tjorriemorrie
srcディレクトリからすべてのフィクスチャをロードする最も良い方法は何ですか? –