私は、ポートレットを使用して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 であることがわかりました。どちらがベストプラクティスであるか、または理解が間違っているかどうかを誰でも提案できますか。
前もって感謝します