2013-02-25 3 views
1

마지막으로 일부 통합 테스트를 위해 컨텍스트를 설정하고 @PathVariable 또는 @ModelAttribute를 예상하는 메서드를 테스트했습니다. 그래도 컨트롤러 내부에서 사용되는 HTTPServletRequest를 어떻게 설정할 수 있는지 알 수 없습니다.통합 테스트 내부의 @Autowired HttpServletRequest

MyController { 
    @Autowired 
private HttpServletRequest request; 
} 

테스트를 실행하는 동안 요청이 업데이트되지 않습니다. 나는 (내가 봄에 처음 온 것 같은) 뭔가를 오해 할 수도있다. 어떻게해야합니까? 미리 답변 해 주셔서 감사합니다!

답변

0

답변을 작성할 시간이 없었습니다. MockHttpServletRequest 및 Spring 3.1.2를 사용하고 있습니다. @Autowired를 사용하는 것이 아니라 컨트롤러에서 요청 빈을 가져 와서 해결할 수있었습니다. 이런 식으로 뭔가 :

mockRequest = (MockHttpServletRequest) applicationContext.getBean ("request"); 

희망이 다른 사람 ...

도움이 될 것이라고
0

HttpServletRequest가 메서드 매개 변수를 통해 컨트롤러에 전달되지 않았습니까? @Autowired를 사용하여 인스턴스 변수를 Spring 컨텍스트 bean에 연결하십시오. 아마도 웹 컨트롤러를 테스트하기 위해 MockHttpServletRequest를 살펴볼 수 있습니다.

관련 문제