Обработка MethodArgumentNotValidException в тестовом примере Junit?JAVA

Программисты JAVA общаются здесь
Anonymous
Обработка MethodArgumentNotValidException в тестовом примере Junit?

Сообщение Anonymous »

Я использую Spring MVC-тестирование: в моем тестовом примере я передаю недопустимый объект Bar (возраст с нулевым значением). Выдается исключение MethodArgumentNotValidException, но оно вложено в исключение NestedServletException. Можно ли как-нибудь выбросить исключение MethodArgumentNotValidException из контроллера через существующий/пользовательский HandlerExceptionResolver, чтобы мой текущий тестовый пример checkHit2 прошел?

Контроллер:

@RequestMapping(value="/test", method = RequestMethod.POST, headers="Accept=application/json")
@ResponseBody
public Bar getTables(@Valid @RequestBody Bar id) {
return id;

}


Тестовый пример

@Before
public void setUp() {

mockMvc = standaloneSetup(excelFileUploader).setHandlerExceptionResolvers(new SimpleMappingExceptionResolver()).build();
}

@Test(expected=MethodArgumentNotValidException.class)
public void checkHit2() throws Exception {
Bar b = new Bar(0, "Sfd");
mockMvc.perform(
post("/excel/tablesDetail").contentType(
MediaType.APPLICATION_JSON).content(
TestUtil.convertObjectToJsonBytes(b)));


Бар

public class Bar {

@JsonProperty("age")
@Min(value =1)
private int age;
public Bar(int age, String name) {
super();
this.age = age;
this.name = name;
}
...
}


Вывод Junit

java.lang.Exception: Unexpected exception,
expected but
was


Подробнее здесь: https://stackoverflow.com/questions/216 ... t-testcase

Вернуться в «JAVA»