我試圖測試我的控制器映射和響應http狀態代碼。因此,我正在使用RequestMappingHandlerAdapter和RequestMappingHandlerMapping。EasyMock控制器映射和狀態代碼測試
我的控制器
@Controller
@RequestMapping(value ="/user")
public class AdminSpringController {
@Autowired
public UserAdminService userService;
private final Logger log = LoggerFactory.getLogger(AdminSpringController.class);
@RequestMapping(method = RequestMethod.GET, consumes = "application/json", produces = "application/json")
@ResponseStatus(HttpStatus.OK)
public List<User> getUsers() {
log.trace("Request to get all users.");
return userService.getUsers();
}
}
和我的測試類:
public class AdminSpringControllerTests {
AdminSpringController cut;
private MockHttpServletRequest request;
private MockHttpServletResponse response;
private RequestMappingHandlerAdapter adapter;
private RequestMappingHandlerMapping handlerMapping;
@Test
public void testGetSc() throws Exception{
adapter = new RequestMappingHandlerAdapter();
handlerMapping = new RequestMappingHandlerMapping();
MockHttpServletRequest request = new MockHttpServletRequest();
request.setMethod("GET");
request.setRequestURI("/user");
request.addHeader("Accept", "application/json");
MockHttpServletResponse response = new MockHttpServletResponse();
Object handler = handlerMapping.getHandler(request).getHandler();
ModelAndView mav = adapter.handle(request, response, handler);
assertNotNull(mav);
}
}
但是我卻越來越在行對象處理的NullPointerException異常= ...
我只是想測試我的映射,然後檢查我的響應中的HTTP狀態代碼。這是正確的方法還是我的測試實施完全錯誤?對於我需要使用EasyMock的測試。下一步我想測試響應狀態碼(response.getStatus())是否等於SC_OK(200)。
THX任何幫助:)
你沒有正確配置,採取看[這裏](http://static.springsource.org/spring/docs/2.5.x/reference/testing .html)和[這裏](http://www.devx.com/Java/Article/30067),[這裏](http://blog.trifork.com/2012/12/11/properly-testing-spring -mvc-controllers /) – Rembo
爲什麼我需要上下文配置我的測試? – vicR