Ниже приведен пример метода подтверждения в среде TestNG.
private static void failAssertNoEqual(String defaultMessage, String message) {
if (message != null) {
fail(message);
} else {
fail(defaultMessage);
}
}
А вот и метод сбоя.
/**
* Fails a test with the given message.
* @param message the assertion error message
*/
public static void fail(String message) {
throw new AssertionError(message);
}
Таким образом, при сбое подтверждения происходит сбой теста с ошибкой подтверждения.
В моем случае у меня есть утвердить содержание отчета. Я хотел бы, чтобы мой тест проверял каждый столбец и перечислял ошибки утверждения, которые были исключены из метода при самой первой ошибке. Таким образом, мне не нужно исправлять одно поле и повторно запускать тест для проверки следующего поля.
Я пытался поместить каждое утверждение в блок Try Catch, но это делает код очень длинным.
try {
Assert.assertEquals("active", "inactive");
}
catch (AssertionError e) {
//Store this somewhere
}
В противном случае мне придется писать пользовательские функции, выполнять каждое утверждение, сохранять их в коллекции и, наконец, проходить или не сдавать тест на основе значений. Но тогда я на самом деле не использую TestNG.
Есть ли в TestNG встроенный метод для выполнения мягкого утверждения. Если нет, то каков идеальный способ достичь этого.