如何在RESTful ZF2应用程序中设计功能测试?

aut*_*tix 12 php rest bdd functional-testing zend-framework2

我正在计划一个Apigility驱动的RESTful Zend Framework 2应用程序.对于单元测试,也可能用于数据库测试,将使用PHPUnit.现在我要为应用程序定义功能测试.

"功能测试"对我来说意味着测试真正的功能.它还获得了集成测试方面,因为应用程序然后进行"intermodularily"测试,因此它是跨单元/模块的测试. (我对功能测试的理解是否正确?)

对于此测试,将发送实际请求并将响应与期望进行比较.随着写入请求可能会有点复杂,但为了保持简单,我们GET首先考虑这种情况. (对?)

为此目的,使用行为测试似乎是有目共睹的.(实际上我根本没有看到任何其他适当的方法.) (对吧?)

如果我的逻辑步骤之一是假的,请纠正我.

可以在RESTful PHP(ZF2)应用程序的上下文中使用哪些行为测试工具?PHPUnit故事扩展那是什么?phpspec?其他框架?或者也许直接测试PHPUnit(定义一个单独的测试套件并在其测试类中使用API​​调用执行行为测试)?

或者这一切都是错误的,功能测试需要一种完全不同的方法吗?

小智 4

Behat是针对 Apigility 应用程序(或任何应用程序)进行行为测试的完全可接受的工具。

如果您专门谈论 API(通常是 Apigility),您还可以查看apiary.io 中的 Dredd。在记录 API 后,它是一个很棒的测试工具(这样做还有很多其他好处)