1

Я пишу модульные тесты с JUnit4 и Mockito для моего приложения, и я хочу сделать полный охват. Но я не совсем понимаю, как относятся ветви исключения. Например:Как модульный тест для покрытия филиалов исключений

try { 
    Thread.sleep(100); 
} catch (InterruptedException e) { 
    e.printStackTrace(); 
} 

Как я могу вызвать из тестов исключений?

+0

Это просто пример исключения. Я имею в виду вызывать любое исключение – NikedLab

+0

Это зависит от кода, который может генерировать исключение и вид интересующего вас исключения. – Raedwald

ответ

2

Хотя вы не можете легко быть в состоянии вставить исключение в Thread.sleep, в частности, потому, что его называют статический, а не против введенного Например, вы можете легко окурок впрыскиваетесь зависимости, чтобы бросить исключения при вызове:

@Test 
public void shouldHandleException() throws Exception { 
    // Use "thenThrow" for the standard "when" syntax. 
    when(dependency.someMethod()).thenThrow(new IllegalArgumentException()); 

    // Void methods can't use "when" and need the Yoda syntax instead. 
    doThrow(new IllegalArgumentException()).when(dependency).someVoidMethod(); 

    SystemUnderTest system = new SystemUnderTest(dependency); 
    // ... 
} 
Смежные вопросы