package wargaming;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import static org.junit.Assert.fail;
public class JustForTest {
@Rule
public TestRule watchman = new TestWatcher() {
@Override
protected void failed(Throwable e, Description description) {
System.out.println(description.getMethodName() + ": " + e.getLocalizedMessage());
}
};
@Test
public void test1() {
fail("Сообщение об ошибке");
}
}
Перегружаемый метод failed() запускается при ошибках в методах аннотированных @Test перед выполнением метода с аннотацией @AfterTest. При этом он получает Description теста и информацию об ошибке. Её можно обработать здесь же или сохранить для обработки в @AfterTest.
Чтобы не прописывать Rule в каждом тесте заново, можно создать базовый класс с Rule и унаследовать от него все тестовые классы.