В целях автоматического функционального тестирования я хотел бы запустить контейнер сервлета из моего тестового драйвера без фактической выдачи HTTP-запросов по сети. Основная цель - проверить довольно сложные условия фильтрации, пересылки и включения сервлета.
Я хотел бы, чтобы система встраивала контейнер сервлета таким образом, чтобы:
- не создает отдельный процесс, если это возможно
- не заставляет встроенный контейнер прослушивать сетевые порты
- позволяет мне выдавать смоделированные HTTP-запросы (через API)
- позволяет мне ждать / получать ответы и анализировать их из кода Java
Я знаю, что Tomcat может быть встроен через API и имеет API-интерфейс соединителя, поэтому я уверен, что это выполнимо. Но наверняка должен существовать тестовый фреймворк, уже делающий именно это?
(Обратите внимание, что я бы предпочел использовать Tomcat, но Jetty - другой вариант.)