1
我試圖測試這個方法:Spring MVC的控制器測試
@RequestMapping(value="/PersonalState/{EmployeeId}", method = RequestMethod.PUT)
public @ResponseBody Object Update(@PathVariable Integer EmployeeId, @RequestParam EmployeeState empstate) throws Exception {
EmployeeService.updateEmployeeState(entityManager.find(Employee.class, EmployeeId), empstate);
return null;
}
EmplyeeState是一個枚舉,該值將保存在數據庫爲整數,這是我的測試代碼:
@Test
public void EmployeeTest() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.put("/PersonalState/{empstate}",EmplyeeState.PERMANENT)
.param("EmployeeId", "550"))
.andDo(print())
.andExpect(MockMvcResultMatchers.status().isOk());
}
我得到這個Errror:
Resolved Exception:
Type = org.springframework.beans.TypeMismatchException
MockHttpServletResponse:
Status = 400
我試圖通過這兩個變量作爲參數,只透過僱員爲p arameter,但我仍然有相同的錯誤,除了參數參數必須都是String類型。 任何想法?