Мой тест JUnit не перехватывает исключение из-за моего оператора return в блоке catch. Когда я удаляю возвращаемое утверждение, тест проходит. Я хочу, чтобы мой модульный тест работал с возвращающим оператором, если возникает исключение.
Я также пробовал JUnit 5, но это не решает проблему.
Мой метод:
public ArrayList<Action> parsePlaByPlayTable() {
ArrayList<Action> actions = new ArrayList<>();
Document document = null;
try {
document = Jsoup.connect(url).get();
} catch (Exception e) {
log.error(e.getMessage());
return new ArrayList<>();
}
// if the exception occurs and there is no return in the catch block,
// nullPointerException is thrown here
Element table = document.getElementById("pbp");
// more code. . .
}
Мой тест:
@Test(expected = Exception.class)
public void testParsePlaByPlayTableInvalidUrl() {
PlayByPlayActionHtmlParser parser = new PlayByPlayActionHtmlParser("https://www.basketbal-reference.com/oxscores/pbp/201905160GS.html");
ArrayList<Action> actions = parser.parsePlaByPlayTable();
}