tam*_*mir 9 testing phpunit fixtures symfony doctrine-orm
我有一个基于Symfony2 + Doctrine2构建的应用程序,我想为(使用phpunit)创建一些测试.
例如,如果我想针对数据库中的记录测试唯一的验证器,我想创建一个我可以使用的记录,但是在测试之后我不再需要它了.那么有没有办法创建临时(或虚拟)灯具或我必须手动创建和删除它们?
Flo*_*ian 20
您可以使用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());
Run Code Online (Sandbox Code Playgroud)
您可以参考文档来了解如何创建DataFixture类.
以下是如何执行此操作的一个很好的示例:Symfony 2 + Doctrine 2 + PHPUnit 3.5:关闭异常的序列化
PS:我假设你在这个例子中有一个工作$ em(EntityManager).