【发布时间】:2017-02-28 23:58:06
【问题描述】:
我正在尝试为我的 Symfony 3 应用程序设置一个测试套件,我想知道设置测试数据库的正确方法是什么。我找到了这个article,但它实际上并没有解释如何以编程方式添加固定装置。
此外,他们的示例似乎为每个测试设置了测试数据库。
有没有办法设置一个测试数据库,当phpunit 运行时自动加载夹具?官方文档有点像sparse
【问题讨论】:
我正在尝试为我的 Symfony 3 应用程序设置一个测试套件,我想知道设置测试数据库的正确方法是什么。我找到了这个article,但它实际上并没有解释如何以编程方式添加固定装置。
此外,他们的示例似乎为每个测试设置了测试数据库。
有没有办法设置一个测试数据库,当phpunit 运行时自动加载夹具?官方文档有点像sparse
【问题讨论】:
Symfony 有不同的环境可供您操作。默认情况下,它们是 prod(生产)、dev(开发)和测试。虽然它可能不是您想要的,但您可以为每个环境配置不同的配置、参数、路由等。阅读官方文档以获取更多信息,但是是的,您可以为测试模式设置您的 parameters.yml 文件,该文件可以在那里配置不同的数据库。
https://symfony.com/doc/current/configuration/environments.html
【讨论】:
如果您从KernelTestCase 或WebTestCase 扩展您的TestCases,基本上从\PHPUnit_Framework_TestCase 扩展您有像setUpBeforeClass() 或setUp() 这样的方法,它们在您的测试/测试用例执行之前由PhpUnit 运行。
使用它来例如创建您的固定装置,加载您的 SQL 文件或其他任何东西,但是您可能需要测试的先决条件。
【讨论】: