PHPUnit,超全局变量。如何设置测试,以便正确设置$ _SERVER和$ _GET?

时间:2010-03-08 10:04:37

标签: php phpunit

我正在编写一些PHP代码来解析传入的URL。它严重依赖于PHP全局变量,例如$_SERVER$_GET。我想在PHPUnit单元测试setUp()函数中手动设置它们。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:12)

一个想法是将$ _SERVER和$ _GET包装到类中而不是直接访问它们,这样你就不必完全依赖它们了。您可以在通用框架中经常看到这种方法。这样,您可以轻松地存根或模拟请求,而无需设置超全局的状态。

此类课程的一个例子如下: https://codereview.stackexchange.com/questions/73515/http-request-response-class