6

有没有办法forward:/在 JUnit 测试中测试从 Spring MVC 控制器返回的视图的功能?

我正在使用MockMvcSpring 3.2 中的功能,并且在某些情况下我的控制器转发到另一个(通过返回视图名称forward:/pathHandledByController)。

能够断言当这个转发发生时,@ModelAttribute来自第二个控制器的所有 s 都被应用并且一切都正常处理,这将是很棒的。不幸的是MockMvc,我只能断言返回的视图名称以forward:/.

有什么方法可以在不启动整个网络应用程序的情况下进行测试,比如 Jetty?我已经在 MVC 应用程序中插入了很多服务,我将如何创建一个使用单独的 Spring 配置(来自src/test/resources)和这些服务的模拟的 web 应用程序?

4

1 回答 1

4

您可以使用forwardedUrl匹配器:

 mockMvc.perform(get("/controller/path"))
    .andExpect(forwardedUrl("/forwarded/url"));
于 2015-06-04T08:03:54.033 回答