PHPUnit, суперглобальные переменные.Как настроить тест таким образом, чтобы $ _SERVER и $ _GET были правильно установлены? - PullRequest
15 голосов
/ 08 марта 2010

Я пишу некоторый код PHP для анализа входящих URL-адресов. Он сильно зависит от глобальных PHP-символов, таких как $_SERVER и $_GET. Я имею в виду ручную настройку их в функции модульного теста PHPUnit setUp(). Есть ли лучший способ сделать это?

1 Ответ

12 голосов
/ 08 марта 2010

Идея заключалась бы в том, чтобы обернуть $ _SERVER и $ _GET в классы вместо прямого доступа к ним, чтобы вам не пришлось полностью на них полагаться. Вы часто видите этот подход в общих рамках. Таким образом, вы можете легко заблокировать или смоделировать запрос, не устанавливая состояние суперглобальных элементов.

Пример такого класса будет здесь: https://codereview.stackexchange.com/questions/73515/http-request-response-class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...