PHPUnit和PHPSpec之间的异同

app*_*her 10 php phpunit unit-testing phpspec

我目前正在研究我应该用于php的测试框架.我有两个选择是PHPUnit和PHPSpec.我知道PHPUnit是TDD(测试驱动开发),PHPSpec是BDD(行为驱动开发).然而,由于PHPSpec网站缺乏任何真正的PHPSpec教程和有限的文档,我无法得出完整的结论.我向大家提出的问题是,这两个框架之间有哪些相似点和不同之处?是的,BDD和TDD是大的,但还有其他吗?它们看似相似,但没有人详细谈论它们的相似之处.谢谢.

小智 8

PHPSpec是一个SpecBDD工具,更专门用于指导您进行代码设计而不是测试框架.这取决于您对工具的期望,如果您想制作正确的TDD/SpecBDD,则更容易使用PHPSpec,因为它是为了帮助开发人员编写可读且设计良好的代码而创建的.

请记住,TDD/SpecBDD不是测试所有边缘情况或进行整个应用程序集成测试.它是关于为小单位代码编写规范.

几天前我就此发表了演讲,在这里你可以找到幻灯片:http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php我希望它能有用决策.

  • 在你的幻灯片(幻灯片46)上,你有:$ this-> liveAndLet() - > shouldReturn($ die); 这是否意味着phpspec使用反射将方法调用重载到您测试的对象实例的代理实例上?这是否也意味着我不能在我的类中命名任何方法与phpspec库方法相同? (2认同)