在采访中,项目经理问我以下问题:
我在你的简历中看到你正在使用PHPUnit 4进行测试?为什么不这样做 你使用Symfony的内置测试吗?
我回答:
我所知道的是,Symfony应用程序测试是通过PHPUnit完成的 从2.3和2.7的文档中推荐。我不知道Symfony3 附带测试组件!
我的回答是否正确?谢谢你的解释。
答案 0 :(得分:3)
是的,你是对的。 Symfony有WebTestCase(扩展KernelTestCase,您可以在其中找到它扩展PhpUnit)进行功能测试。另外,Symfony提供了一个PhpUnitBridge,它为编写Symfony应用程序的PHPUnit-Tests提供了有用的东西,例如:使用已弃用的组件使测试失败。两者都依赖于PHPUnit并在" vanilla"之上提供额外的功能。 PHPUnit的。
还有其他测试工具,例如用于编写单元测试的phpspec和用于更高级别测试(功能和验收测试)的Behat,但两者都不在Symfony中使用,因此不需要。似乎真的被问到了什么。
答案 1 :(得分:0)
答案的其他信息:
根据我的经验,WebTestCase
还在所有测试中将内核作为静态方法引导。因此,使用该工具进行单元测试并不是那么好,因为这个测试应该很快。他们使用功能测试控制器和操作来设计它,但不需要启动HTTP服务器。
然后为:
总结,这就是为什么我不使用这个工具。