Юнит-тестирование на основе контроллера Spring MVC Portlet - PullRequest
0 голосов
/ 03 апреля 2012

Я новичок в изучении весеннего 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 в главном контроллере, но если используется аннотация на основе пружин, то из примеров, которые я обнаружил, тип возвращаемого значения - String.Может кто-нибудь подсказать, какая из них является наилучшей, или я ошибаюсь в понимании.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Проект spring-test-mvc облегчает тестирование контроллеров Spring MVC.

0 голосов
/ 01 ноября 2014

Checkout spring-test-portlet-mvc (https://github.com/markusf/spring-test-portlet-mvc) для интеграционного тестирования ваших контроллеров Spring.

...