有什么方法可以测试 forward:/
的功能吗?在 JUnit 测试中从 Spring MVC Controller 返回的 View ?
我正在使用 MockMvc
Spring 3.2 的功能和我的 Controller 在某些情况下转发到另一个(通过返回 View 名称 forward:/pathHandledByController
)。
能够断言当这种转发发生时,所有 @ModelAttribute
都很棒。应用了第二个 Controller 中的 s 并且一切正常。不幸的是MockMvc
只让我断言返回的 View 名称以 forward:/
开头.
有什么方法可以测试这个而不用像 Jetty 这样的东西启动整个网络应用程序吗?我在 MVC 应用程序中有很多服务,我将如何创建一个使用单独的 Spring 配置(来自 src/test/resources
)和这些服务的模拟的 web 应用程序?
最佳答案
您可以使用 forwardedUrl
匹配器:
mockMvc.perform(get("/controller/path"))
.andExpect(forwardedUrl("/forwarded/url"));
关于spring - 在 Spring MVC 应用程序中测试转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809096/