2014-10-10 4 views
0

Я пытаюсь создать Джерси-тест на Джерси REST Servlet с джерси-испытанием-framework-provider-grizzly2.JerseyTest не распознает @WebFilter

Тест требует правильного содержания сервлетов в гризли.

Но при запуске сервлета продуктивным является HTTPBasicAuth. Auth выполняется с помощью @WebFilter ("/ *") org.apache.shiro.web.servlet.ShiroFilter.

Во время JerseyTest не запрашивается Auth. Итак, мой вывод состоит в том, что аннотация @WebFilter не распознается. Does JerseyTest тестирует только ресурсы в приложении? Как распознать WebFilters?

Спасибо.

ответ

0

Я думаю, что я могу ответить себе ;-)

Это JerseyTest Framework и не "FullAppWithJerseyTest" Framework.

Теперь я реализовал нечто вроде ServletJerseyTest, расширяющего JerseyTest. Он использует org.glassfish.jersey.test.external.ExternalTestContainerFactory.class и setUp() содержит запуск контейнера сервлета и установку последней встроенной WAR.

Испытание проходит против этого контейнера. В tearDown() контейнер остановлен и установлен WAR удаляется.

Встраиваемый Tomcat имеет API для самостоятельного просмотра свободного порта TCP и TestProperties.CONTAINER_PORT настроен на выбор порта.

Теперь тесты выполняются, как ожидалось ...

+0

Если вы знаете лучше более общее решение без предположений о системе сборки, чтобы знать, WAR, которые должны быть проверены на ... Ваши ответы будут рады! – Markus

Смежные вопросы