次のメソッドについてcatchブロックを取得するための単体テストの記述方法を知りたいと思います。 FOM.create(data)は静的メソッドです。Junitを使用して例外をテストする方法
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がありますか? – Plog