如何测试理论存储库

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐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测试KernelTestCaseProductRepositoryTest扩展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许可证。