java如何将八进制十进制转换为十进制?
我正在尝试使用SpringBootREST控制器从数据库获取用户。
我将id作为请求参数传递。如果我传递一个值0004
,它将其视为4
,测试通过。
但是,如果我将值作为0030
传递,它将作为24
处理
控制员测试。爪哇
@Test
public void get_user_by_id_should_return_user_with_id_0030() throws Exception {
User user = new User(0030, "sample@example.com", LocalDate.parse("2018-12-27"), "Kitchen Assistant", Role.user);
when(userServiceMock.searchByemployeeId(0030)).thenReturn(user);
MockHttpServletRequestBuilder getUserByEmployeeId = get("/admin/user?employeeId=0030");
getUserByEmployeeId.header("Authorization", "Bearer " + adminJwtToken);
JSONObject expectedResponse = new JSONObject();
expectedResponse.put("employeeId", 0030);
expectedResponse.put("companyEmailId", "sample@example.com");
expectedResponse.put("dateOfJoining", "2018-12-27");
expectedResponse.put("designation", "Kitchen Assistant");
expectedResponse.put("role", "user");
mockMvc.perform(getUserByEmployeeId).andExpect(status().isOk());
verify(userServiceMock, times(1)).searchByemployeeId(0030);
}
控制器。爪哇
@GetMapping(path = "/admin/user",params = "employeeId")
public ResponseEntity<User> getUserWithEmploeeId(@RequestParam Integer employeeId) {
User user = userService.searchByemployeeId(employeeId);
return new ResponseEntity<>(user, OK);
}
但是,将0030作为参数传递并不视为30。它把30当作24,我不明白为什么
错误:
Actual invocations have different arguments:
userService bean.searchByemployeeId(30);
-> at com.example.controller.AdminController.getUserWithEmploeeId(AdminController.java:85)
Comparison Failure:
<Click to see difference>
Argument(s) are different! Wanted:
userService bean.searchByemployeeId(24);
-> at com.example.controller.controller.AdminControllerTest.get_user_by_id_should_return_user_with_id_0030(AdminControllerTest.java:1595)
Actual invocations have different arguments:
userService bean.searchByemployeeId(30);
-> at com.example.controller.controller.AdminController.getUserWithEmploeeId(AdminController.java:85)
共 (0) 个答案