【发布时间】:2021-01-05 14:27:50
【问题描述】:
代码:https://github.com/mijosan/test-practice/tree/master/mybatis
@RequiredArgsConstructor
@RestController
public class UserController {
private final UserService userService;
@PostMapping(value="/v1/user")
public ResponseEntity<ResponseDto> postUser(@RequestBody UserSaveRequestDto userSaveRequestDto) {
Long userId = userService.insertUser(userSaveRequestDto);
return CommonUtil.getResponseEntity(UserResponseDto.builder()
.userId(userId)
.build()
, HttpStatus.OK
, "회원 등록 완료");
}
}
这是我的测试代码
@WebMvcTest
public class UserControllerTest {
@Autowired
MockMvc mockMvc;
@Autowired
ObjectMapper objectMapper;
@MockBean
UserService userService;
UserSaveRequestDto userSaveRequestDto;
@BeforeEach
void setUp() {
userSaveRequestDto = UserSaveRequestDto.builder()
.userName("test")
.userPhoneNumber("01026137832")
.build();
}
@DisplayName("MockMvc를 이용한 postUser slice 테스트")
@Test
public void postUserTest() throws Exception {
// given
given(userService.insertUser(userSaveRequestDto)).willReturn(1L);
String content = objectMapper.writeValueAsString(userSaveRequestDto);
// when
MvcResult mvcResult = mockMvc.perform(post("/v1/user")
.contentType(MediaType.APPLICATION_JSON)
.content(content))
.andExpect(status().isOk())
.andReturn();
// then
String result = mvcResult.getResponse().getContentAsString();
System.out.println(result);
}
}
我收到“java.lang.AssertionError: Status expected: but was:”的异常
但是,如果你大摇大摆地测试它,它会很好。
原因在哪里?
【问题讨论】:
标签: java spring-boot unit-testing junit tdd