基于单元测试注释的Spring MVC Portlet控制器
问题描述:
我是一个新手学习Spring MVC的portlet。我有一个返回视图的控制器。我不知道如何编写控制器的单元测试。基于单元测试注释的Spring MVC Portlet控制器
@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。任何人都可以建议哪一个是最佳做法,或者如果我理解错了。
在此先感谢
答
Checkout spring-test-portlet-mvc(https://github.com/markusf/spring-test-portlet-mvc)集成测试您的Spring控制器。