【发布时间】:2013-05-24 10:19:57
【问题描述】:
有什么方法可以测试在 JUnit 测试中从 Spring MVC 控制器返回的 forward:/ 视图的功能?
我正在使用 Spring 3.2 中的 MockMvc 功能,并且我的控制器在某些情况下转发到另一个(通过返回 forward:/pathHandledByController 的视图名称)。
很高兴能够断言,当这个转发发生时,来自第二个控制器的所有@ModelAttributes 都被应用并且一切都正常处理。不幸的是,MockMvc 只能让我断言返回的视图名称以 forward:/ 开头。
有没有什么方法可以在不使用 Jetty 之类的工具启动整个网络应用程序的情况下进行测试?我已经在 MVC 应用程序中插入了很多服务,我将如何创建一个使用单独的 Spring 配置(来自 src/test/resources)和这些服务的模拟的 web 应用程序?
【问题讨论】:
-
这听起来像是你在尝试测试 Spring 本身而不是你的 webapp。如果您正在检查 viewName 是否符合预期,那么在我看来,您可以相信 Spring 从那里接管,至少就单元测试而言。
标签: spring spring-mvc junit jetty spring-mvc-test