метод, который выдает при первом и втором вызове:
public void foo() throws Exception
контрольная работа:
@test
public void testFooThrowsAtFirstAndSecondTime(){
boolean thrown;
try {
foo();
} catch (Exception e) {
thrown = true;
}
assertTrue(thrown);
thrown = false;
try {
foo();
} catch (Exception e) {
thrown = true;
}
assertTrue(thrown);
foo();
}
Не могли бы вы помочь мне найти лучшее решение для этого? Использование Mockito для лучшего решения также было бы приемлемым.
Под «лучше» я имею в виду, если бы я мог избежать попытки/поймать или даже нескольких попыток/поймать в своем тесте. На других языках или в jAssert я думаю, что даже весной есть такие утверждения, как:
assertThrows(method(..)) //PseudoCode
Я думал, что с Mockito или JUnit 4.x есть нечто подобное.
я знаю о
@Test(expected=Exception)
Но это было бы приемлемо только в том случае, если я ожидаю один бросок, и после этого тест заканчивается.