Junit: добавить логику обработки, когда исключение не ожидается - PullRequest
0 голосов
/ 04 мая 2010

Я пытаюсь напечатать трассировку стека исключения.

Однако для отрицательного теста выводится только непредвиденное исключение.

Я использую исключение @Rule ExpectedException для обнаружения исключений.

Я не знаю, как добавить логику обработки в случае непредвиденного исключения.

@Rule
public ExpectedException thrown = ExpectedException.none();

@Test
public void myTest() throws Exception {
    thrown.expect(MyException.class);
    thrown.expectMessage("expected message");
}

Ответы [ 3 ]

1 голос
/ 04 мая 2010

Разве вы не можете просто перехватить исключение в вашем тестовом методе и затем напечатать трассировку стека? (а затем даже сбросить, если хотите).

0 голосов
/ 22 июня 2012

Францига, вы можете попробовать catch-исключение , чтобы удовлетворить свой теоретический интерес:

@Test
public void myTest() throws Exception {

    catchException(obj).doSomethingExceptional();
    log(caughtException());
    assertTrue(caughtException() instanceof MyException.class);
    assertEquals("expected message", caughtException().getMessage());

}
0 голосов
/ 29 июня 2011

Вы пытались реализовать WatchmanTest.failed?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...