2013-05-29 3 views
4

Есть ли способ проверить функциональность вида forward:/, возвращаемого с контроллера Spring MVC в тесте JUnit?Тестирование пересылки в Spring MVC App

Я использую функциональность MockMvc от Spring 3.2, а мой контроллер при определенных обстоятельствах переходит к другому (посредством возврата имени вида forward:/pathHandledByController).

Было бы здорово утверждать, что когда эта пересылка состоялась, все @ModelAttribute s от второго контроллера применяются, и все работает правильно. К сожалению, MockMvc только позволяет мне утверждать, что имя представления возвращается с forward:/.

Есть ли способ проверить это без поворота всего веб-приложения в чем-то вроде Jetty? У меня есть множество сервисов, вложенных в приложение MVC, как я могу создать веб-приложение, которое использует отдельную конфигурацию Spring (от src/test/resources) с помощью этих функций?

+0

Это звучит, как вы пытаетесь проверить саму весну, а не ваше веб-приложение. Если вы проверяете viewName как ожидалось, то, на мой взгляд, вы можете доверять Spring, чтобы взять на себя оттуда, по крайней мере, до модульного тестирования. –

ответ

2

Вы можете использовать forwardedUrl Искателя:

mockMvc.perform(get("/controller/path")) 
    .andExpect(forwardedUrl("/forwarded/url")); 
Смежные вопросы