我是一个用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对象,但它是控制器中的String。返回类型可以是主控制器中的ModelAndView对象,但如果使用基于spring的注释,那么从示例中我发现返回类型是String。任何人都可以建议哪种是最佳做法,或者我是否理解错误。
提前致谢
答案 0 :(得分:1)
spring-test-mvc项目有助于测试Spring MVC控制器。
答案 1 :(得分:0)
checkout spring-test-portlet-mvc(https://github.com/markusf/spring-test-portlet-mvc)对Spring控制器进行集成测试。