Используя PHPUnit для тестирования cookie и сессий, как?

С PHPUnit довольно легко протестировать необработанный код PHP, но что относительно кода, который в большой степени полагается на cookie? Сессии могли быть хорошим примером.

Есть ли метод, который не требует, чтобы я установил $_COOKIE с данными во время моего теста? Похоже на hacky способ сделать вещи.

11
задан The Pixel Developer 16 June 2010 в 01:21
поделиться

1 ответ

Это обычная проблема с кодом, особенно с запаздывающим кодом PHP. Общий используемый метод - дальнейшее абстрагирование переменных COOKIE / SESSION в связанных объектах и ​​использование инверсии методов управления для втягивания этих зависимостей в область видимости.

http://martinfowler.com/articles/injection.html

Теперь, прежде чем выполнять тест, вы должны создать экземпляр фиктивной версии объекта Cookie / Session и предоставить данные по умолчанию.

Я полагаю, что того же эффекта можно достичь с помощью устаревшего кода, просто переопределив суперглобальное значение перед выполнением теста.

Ура, Алекс

6
ответ дан 3 December 2019 в 10:43
поделиться
Другие вопросы по тегам:

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