Копирование данных сессии Apache для модульного тестирования - PullRequest
7 голосов
/ 05 октября 2011

Я работаю с веб-приложением, которое обычно запускается в mod_perl под Apache. Мы с коллегой пытаемся провести какое-то модульное тестирование. Существуют ли какие-либо хорошие инструменты или методы для макетирования сессий и запросов и тому подобное, которые могли бы помочь нам использовать этот код вне контекста веб-сервера?

1 Ответ

3 голосов
/ 06 октября 2011

Если вы используете mod_perl 1, есть Apache :: FakeRequest , который поставляется с mod_perl.Это не полная имитация объекта запроса, поэтому вы должны добавить несколько собственных методов.Даже больше, если ваш код использует Apache :: Request .Еще больше для печенья и загрузки.В основном вы будете проводить много времени с Test :: MockObject .К счастью, объектные интерфейсы Apache довольно просты.

Если это вообще возможно, вам следует рассмотреть возможность перехода на каркас на основе Plack (Catalyst, Dancer и т. Д...) которые предоставляют гораздо более надежные средства тестирования и отладки.Если вы используете mod_perl2, вам повезло!Легко (относительно mod_perl 1) обернуть приложение mod_perl2 с помощью Plack. Plack :: App :: FakeApache сделает большую часть работы за вас. Вот обсуждение , излагающее различные методы и преимущества.

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