Я использую mockmvc для проверки моего метода с параметром date и проверяю его с помощью аннотации @DateValid, но mock mvc не может проверить правильность. Это проверка успеха, когда я ввел неправильную дату.
StudentCOntroler
public ResponseEntity<?> getStudents(@PathVariable("id") String studentId,
@RequestParam("birthDate") @DateValid String Date) {
//do something
}
Тест
public class StudentController extends AbstractControllerTest {
@Test
public void testStudents_validRequest() throws Exception {
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("birthDate","aaaa");
MvcResult result = getMvc().perform(get("/student/{studentId}", "test")
.params(params)
.characterEncoding(StandardCharsets.UTF_8.name())
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().json(mapToJson(studentResDto)))
.andReturn();
verify(studentService).getStudentId(anyString(), anyString());
log(log, result);
}
}
Но когда я ввожу неверную дату рождения, все в порядке. Это не подтвердить. Я не могу не понять почему, потому что я использую почтальон, это работает. Это подтверждает, но издеваться над MVC это не так? Пожалуйста помоги?
Я использую весеннюю загрузку 2.1.3
Спасибо