0

我是一个新手学习带有 portlet 的 spring mvc。我有一个返回视图的控制器。我不确定如何编写该控制器的单元测试。

@controller
@RequestMapping("VIEW")
public class HelloController {

@ResourceMapping(value = "hello")
public String helloWorld(RenderRequest request) {

    return "hello";
}

我的单元测试控制器是这样的

public class HelloWorldControllerTest extends TestCase {

protected void setUp() throws Exception {
    super.setUp();
}

protected void tearDown() throws Exception {
    super.tearDown();
}

public void testHelloWorldController() throws IOException {

          MockRenderRequest request = new MockRenderRequest();
        HelloController c = new HelloController ();
        ModelAndView result = c.helloWorld(request);
        assertNotNull("ModelAndView should not be null", result);
        assertEquals("hello", result.getViewName());
}

这不起作用,因为结果不是 ModelAndView 对象,而是控制器中的字符串。返回类型可以是主控制器中的 ModelAndView 对象,但如果使用基于 spring 注释,那么从示例中我发现返回类型是 String。任何人都可以建议哪个是最佳做法,或者我是否理解错误。

提前致谢

4

2 回答 2

1

spring-test-mvc项目有助于测试 Spring MVC 控制器。

于 2012-04-03T07:45:02.913 回答
0

签出 spring-test-portlet-mvc ( https://github.com/markusf/spring-test-portlet-mvc ) 以集成测试您的 Spring 控制器。

于 2014-11-01T19:36:37.033 回答