如何测试理论存储库
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何测试理论存储库
不建议在Symfony项目中对Doctrine存储库进行单元测试。ob娱乐下载在处理存储库时,实际上是在处理针对实际数据库连接进行测试的东西。
幸运的是,您可以根据真实的数据库轻松地测试查询,如下所述。
功能测试
如果需要实际执行查询,则需要引导内核以获得有效连接。在本例中,您将扩展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 46
/ / src / AppBundle /测试/仓库/ ProductRepositoryFunctionalTest.php名称空间AppBundle\测试\存储库;使用AppBundle\实体\产品;使用ob娱乐下载\包\FrameworkBundle\测试\KernelTestCase;类ProductRepositoryFunctionalTest扩展KernelTestCase{/ * * *@var\学说\ ORM \ EntityManager * /私人$entityManager;/** * {@inheritDoc} * /受保护的函数设置(){自我::bootKernel ();$这->entityManager =静态:: $内核->getContainer ()->get (“原则”)->getManager ();}公共函数testSearchByCategoryName(){$产品=$这->entityManager->getRepository(产品::类)->searchByCategoryName (“foo”);$这->assertCount (1,$产品);}/** * {@inheritDoc} * /受保护的函数拆卸(){父::tearDown ();$这->entityManager->close ();$这->entityManager =零;//避免内存泄漏}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。