我目前正在使用symfony2创建一个项目,我正在使用PHPUnit供应商对我的代码进行功能测试。 我面临一个问题,即随着项目变大,功能测试时间会增加。 注意:我正在使用Fixtures为每个功能测试功能加载。
我的问题在这里?实现在合理时间内运行的功能测试的最佳实践是什么。
另一方面,是否有任何捆绑或工具可以用来加速这个过程?
答案 0 :(得分:2)
你的问题很复杂,很难确切地说延迟问题。
首先,您可以在测试套装之前划分可能加载的灯具,以及可以通过setUp方法加载的其他部件。
可以真正加速测试过程的第二个建议是多线程运行。我使用"最快"与一个线程运行相比,lib允许我在大约3-4次(在i7上)加速我的测试。
https://github.com/liuggio/fastest
find tests/ -name "*Test.php" | ./bin/fastest "bin/phpunit -c app {};"
答案 1 :(得分:1)
关于单元/功能测试的参数的一些补充。正如我所看到的那样,主题是"功能性"测试,如果该工具是PhpUnit,它并不意味着测试必须是" unit",因为它也可以用它进行功能测试,但我相信它不是最好的选择用于功能测试的工具。
我建议你去看看其他功能测试的好工具,比如Behat(http://behat.org)。它将使您不仅可以更舒适地使用功能测试,还可以在开发过程中使用BDD(行为驱动开发)方法
我们如何将其用于购物车http://www.youtube.com/watch?v=XIUmDGaaZWM
的功能测试