如何测试理论存储库
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.0,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何测试理论存储库
不建议在Symfony项目中对Doctrine存储库进行单元测试。欧宝娱乐app下载地址在处理存储库时,实际上是在处理针对实际数据库连接进行测试的东西。
幸运的是,您可以根据真实的数据库轻松地测试查询,如下所述。
功能测试
如果需要实际执行查询,则需要引导内核以获得有效连接。在本例中,您将扩展KernelTestCase
,这使得这一切都很简单:
12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
/ /测试/ AppBundle /实体/ ProductRepositoryTest.php名称空间测试\AppBundle\实体;使用欧宝娱乐app下载地址\包\FrameworkBundle\测试\KernelTestCase;类ProductRepositoryTest扩展KernelTestCase{/ * * *@var\学说\ ORM \ EntityManager * /私人$新兴市场;/** * {@inheritDoc} * /受保护的函数设置(){自我::bootKernel ();$这->em =静态:: $内核->getContainer ()->get (“原则”)->getManager ();}公共函数testSearchByCategoryName(){$产品=$这->新兴市场->getRepository (“AppBundle:产品”)->searchByCategoryName (“foo”);$这->assertCount (1,$产品);}/** * {@inheritDoc} * /受保护的函数拆卸(){父::tearDown ();$这->新兴市场->close ();$这->em =零;//避免内存泄漏}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。