Как написать пользовательский тест обработки исключений с помощью mockmvc? - PullRequest
0 голосов
/ 08 февраля 2019

Я использую junit5 и хочу создать тест для моего пользовательского исключения.И это мой метод Controller:

@GetMapping("/get")
    public List<A> getList() {
        if (!hasTable()) {
            throw new TableNotFoundException("Table Not Found");
        }
        return getService().getList();
    }

    protected boolean hasTable() {
        return true;
    }

Это мой класс исключений:

@ResponseStatus(value = HttpStatus.NOT_FOUND, reason ="Table Not Found")
public class TableNotFoundException extends RuntimeException {

    public TableNotFoundException() {
    }

    public TableNotFoundException(String message) {
        super(message);
    }
}

И это мой метод тестирования:

@Test
    void getList()  {

        try {
            mockMvc.perform(get("get"))
                    .andExpect(status().isNotFound())
                    .andExpect(content().string("Table Not Found")).andDo(print());
        } catch (Exception e) {
            fail(e.toString());
        }
    }

Когда я запускаютест, я получаю сообщение об ошибке:

java.lang.AssertionError: Ожидаемый контент ответа: Таблица не найдена>, но: <> Ожидается: Таблица не найдена Фактически:

Как я могу это сделать? Любая идея? Спасибо всем сейчас:)

...