Unit testing 如何在Symfony2中分离单元测试和功能测试?
我想知道:Unit testing 如何在Symfony2中分离单元测试和功能测试?,unit-testing,symfony,tdd,Unit Testing,Symfony,Tdd,我想知道: 如果将测试分开是个好主意 功能性…)在Symfony2中 以及我该如何分开: 按文件夹结构排列: tests |-- functional |-- unit <testsuites> <testsuite name="unit">...</testsuite> <testsuite name="functional">...</testsuite> </testsuites> 通过p
tests
|-- functional
|-- unit
<testsuites>
<testsuite name="unit">...</testsuite>
<testsuite name="functional">...</testsuite>
</testsuites>
通过phpunit.xml中的配置:
tests
|-- functional
|-- unit
<testsuites>
<testsuite name="unit">...</testsuite>
<testsuite name="functional">...</testsuite>
</testsuites>
这是一个合理的方法吗?有没有标准的方法可以做到这一点?什么“级别”是独立的(单元>集成>功能)?如果我想以最快的速度手动执行这些测试,并在Jenkins中获得rational coverage报告,那么如何利用这一点?您可以选择两个配置文件—一个用于功能测试,另一个用于单元测试。然后您可以独立于功能测试运行单元测试。您希望您的单元测试尽快运行,否则在开发时没有人会运行它们,所以这种方法非常有效
phpunit -c app/phpunit.xml
phpunit -c app/phpunit_functional.xml
我们使用的目录结构:
src/Namespace/Bundle/Tests/Unit/
src/Namespace/Bundle/Tests/Functional/
第二种方法是使用一个配置文件并运行
phpunit--testsuite unit
将功能测试放在捆绑包的控制器文件夹中的标准方法有什么问题?将集成测试(例如使用内核或容器)或“功能代码”放在哪里失控?如何跨多个捆绑包工作?是否每次添加/删除捆绑包时都必须更新全局phpunit文件?