PHPUnit, суперглобальный Вар. Как установить, тестируют таким образом, что $ _SERVER и $ _GET правильно установлены?

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

15
задан Amanda S 19 January 2012 в 20:36
поделиться

1 ответ

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

Вот пример такого класса: https://codereview.stackexchange.com/questions/73515/http-request-response-class

12
ответ дан 1 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: