我正在尝试为我的Symfony 3应用程序设置一个测试套件,我想知道设置测试数据库的正确方法是什么。我发现了这个article,但实际上并没有解释如何以编程方式添加灯具。
此外,他们的示例似乎为每个测试设置了测试数据库。
有没有办法设置一个测试数据库,当phpunit
运行时,该数据库会自动加载灯具?官方文档有点sparse
答案 0 :(得分:2)
Symfony具有您可以操作的不同环境。默认情况下,这些是prod(生产),dev(开发)和测试。虽然它可能不是您想要的,但您可以为每个环境配置不同的配置,参数,路由等。阅读官方文档了解更多信息,但是,您可以设置参数.yml文件用于测试模式,可以在那里配置不同的数据库。
https://symfony.com/doc/current/configuration/environments.html
答案 1 :(得分:0)
如果您从KernelTestCase
或WebTestCase
扩展TestCase,则基本上从\PHPUnit_Framework_TestCase
扩展,您有setUpBeforeClass()
或setUp()
之类的方法,这些方法由PhpUnit运行你的测试/测试用例正在执行。
将此用于例如创建你的灯具,加载你的SQL文件或其他什么,但是你可能需要测试的先决条件。