2014-12-11 1 views
1

이 내 코드입니다 :를 사용하여 모의 MVC

@Controller("testController") 
public class TestController 
{ 
    private static final Log logger = LogFactory.getLog(TestController.class); 

    @Autowired 
    private TestService testService; 

    private static final String TEST_FILTER = "test.filter"; 

    /** 
    * List the tests. 
    * 
    * @param first the pagerFirst 
    * @param page the pagerPage 
    * @param model the model 
    * @param req WebRequest 
    * @return the test view name 
    */ 
    @RequestMapping(value = "/tests.do", method = RequestMethod.GET) 
    public String listTests(@RequestParam(value = "pagerFirst", required = false) Long first, 
           @RequestParam(value = "pagerPage", required = false) Long page, 
           Model model, WebRequest req) 
    { 
     if (first == null) 
     { 
      first = 0L; 
     } 
     if (page == null) 
     { 
      page = 20L; 
     } 

     testFilter filter = (TestFilter) req.getAttribute(TEST_FILTER, RequestAttributes.SCOPE_SESSION); 
     if (filter == null) 
     { 
      filter = new TestFilter(); 
     } 
     TestFilterView testFilterView = testService.getTestFilterView(filter); 
     model.addAttribute("testFilterView", testFilterView); 

     return "tests"; 
    } 

어떻게 모의를 사용하여이 코드를 테스트 할 수 있습니까?

고맙습니다.

답변

2

Mock을 사용하여 코드를 테스트하는 데 관심이 있다면 통합 테스트가 아닌 단위 테스트를 수행한다는 의미입니다. 컨트롤러를 단위 테스팅하는 것은 일반적으로 들어오는 RequestParams/PathParams의 유효성을 검사하여 서비스가 호출되는지 또는 응답이 필요한지 확인합니다.

간단한 단위 테스트는 Mockito 또는 PowerMock을 사용하여 TestService를 모의하고 해당 호출이 적절하게 만들어지고 서비스에서 반환하는 호출이 올바른지 확인해야합니다.

Mockito의 참고 페이지 http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html을 살펴보십시오. 좋은 예제가 있습니다.

관련 문제