【发布时间】:2017-09-22 10:30:05
【问题描述】:
我想知道如何编写单元测试来获取以下方法的 catch 块。 FOM.create(data) 是一个静态方法。
public String getValue(Data data) {
try {
return FOM.create(data);
} catch (UnsupportedEncodingException e) {
log.error("An error occured while creating data", e);
throw new IllegalStateException(e);
}
}
目前这是我的单元测试,但它没有遇到 catch 块:
@Test (expected = UnsupportedEncodingException.class)
public void shouldThrowUnsupportedEncodingException() {
doThrow(UnsupportedEncodingException.class).when(dataService).getUpdatedJWTToken(any(Data.class));
try {
dataService.getValue(data);
}catch (IllegalStateException e) {
verify(log).error(eq("An error occured while creating data"), any(UnsupportedEncodingException.class));
throw e;
}
}
【问题讨论】:
-
这个 getUpdatedJWTToken 在你的代码中在哪里?
标签: java unit-testing exception junit try-catch