我正在使用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:预期的响应内容:未找到表>但为:<> 预期的:找不到表 实际:
我该怎么办?有什么想法吗?谢谢大家:)