У меня есть утверждение TestNG, которое может иногда не срабатывать из-за состояния заявленного объекта (элемент ArrayList), и когда это произойдет, я хотел бы отобразить это состояние.
Я создал пример, который потерпит неудачу во время выполнения, чтобы проиллюстрировать концепцию
import static org.testng.Assert.assertEquals;
@Test
public void sandbox() {
ArrayList<Integer> arr = new ArrayList<>();
assertEquals(arr.size(), 0, "The problem is: " + arr.get(0).toString());
}
Я ожидал, что утверждение пройдет, и оно произойдет, когда я уберу третий аргумент (сообщение). Я вижу, что это не проблема TestNG, поскольку выполнение не входит в оператор, а скорее завершается с ошибкой непосредственно на этом шаге с
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
Какой лучший подход здесь? Я думаю о методе, который позаботится об исключении, но, возможно, есть более известные способы.
Спасибо