正确的方法来PHPunit测试模拟getRequest-> getHeader('referer')

时间:2012-05-04 03:13:34

标签: php oop zend-framework phpunit

我正在编写单元测试,要求我在Zend框架中使用或模拟getRequest->getHeader('referer'),其中referer上有一个条件来确定是否根据其值设置了新会话。

正确测试这种方法的最佳方法是什么?

我应该简单地模拟控制器并像$controller->getRequest->getHeader('referer')一样调用标头请求,还是需要模拟请求对象?

显然,因为这是一个单元测试,只是嘲笑这种行为以确保代码正常工作,所以我甚至不确定如何模拟url请求标头。

1 个答案:

答案 0 :(得分:1)

您应该将自己的请求对象注入框架中。我建议使用Zend_Controller_Request_HttpTestCase,因为它可以让您完全灵活地设置所有各种属性(标题,查询,正文,uri,Cookie等)。您将能够设置自己的引用并测试应用程序的反应。