0

私は、ポートレットを使用して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 に答える