Я пишу интеграционные тесты с использованием MockMvc, и мне интересно, есть ли способ загрузить сервлет-сопоставления из web.xml (что обычно не имеет значения).MockMvc WebAppConfiguration: Загрузка сопоставлений сервлета в web.xml
У меня есть пользовательский HandlerInteceptor
, который соответствует запросу URI (от HttpServletRequest
) к шаблону (с использованием AntPathMatcher
).
В web.xml я определяю сервлетов, как это (с соответствующей подвижной context.xml):
<servlet-mapping>
<servlet-name>mobileServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Таким образом, когда контроллер определяет отображение как "/operation"
, запросы должны действительно быть сделаны, чтобы "/services/operation"
, Мой пользовательский HandlerInterceptor
соответствует запросам URI для шаблона, такого как "/**/services/{operationName}/**"
.
Мое приложение отлично работает на Tomcat. Однако в @ContextConfiguration я могу указать только файл mobile-context.xml, поскольку web.xml не является конфигурационным файлом Spring. Таким образом, MockMvc позволяет мне отправлять запросы только "/operation"
, а не "/services/operation"
, в результате чего мое HandlerInterceptor
выдает исключение.
Есть ли способ заставить MockMvc регистрировать отображения сервлетов или любые умные способы обойти это? Заранее спасибо.
Edit: similar question здесь говорит, что мне нужно, это не возможно, но у меня нет разрешения на изменение исходного кода, так что я не могу изменить шаблон или HandlerInterceptor
.