我有一个基于Symfony2 Doctrine2的应用程序,我想为(使用PHPunit)创建一些测试.
例如,如果我想对DB中的记录测试一个唯一的验证器,我想创建一个可以使用的记录,但是在测试之后,我不再需要它了.那么有办法创建临时(或虚拟)灯具,还是手动创建和删除它们?
您可以使用
Doctrine DataFixture并将此代码放在单元测试类的setUp方法中:
$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).