我正在编写一些PHP代码来解析传入的URL。它严重依赖于PHP全局变量,例如$_SERVER
和$_GET
。我想在PHPUnit单元测试setUp()
函数中手动设置它们。有没有更好的方法呢?
答案 0 :(得分:12)
一个想法是将$ _SERVER和$ _GET包装到类中而不是直接访问它们,这样你就不必完全依赖它们了。您可以在通用框架中经常看到这种方法。这样,您可以轻松地存根或模拟请求,而无需设置超全局的状态。
此类课程的一个例子如下: https://codereview.stackexchange.com/questions/73515/http-request-response-class