2015-10-02 2 views
-1

Версия: TestNG-6.8.8.jarОценить утверждения после исключения?

Этот тест выполняется зеленый:

@Test(expectedExceptions = { NullPointerException.class }) 
public void shouldTestNGIgnoreAssertsAfterExceptionThrown() throws Exception { 
    String iAmNull = null; 
    int length = iAmNull.length(); 
    assertEquals(0, 1); 
} 

Любой конфигурационный файл или другие варианты
продолжить и оценить утверждает, после того, как исключение произошло?

+0

TestNG не может знать, что у вас есть другие утверждения после исключения. В этом случае вы должны использовать try/catch. – juherr

ответ

2

Вы должны переписать свой тест. Например:

@Test 
public void shouldTestNGIgnoreAssertsAfterExceptionThrown() { 
    String iAmNull = null; 
    boolean hasNpe = false; 
    try { 
    int length = iAmNull.length(); 
    } catch(NullPointerException npe) { 
    hasNpe = true; 
    } 
    assertTrue(hasNpe); 
    assertEquals(0, 1); 
} 
2

Это не имеет ничего общего с TestNG. Речь идет о том, как работает Java (и должна работать). Любой вызов метода на null (<nullObject>.someMethod()) вызывает исключение NullPointerException. Если вы не поймаете его в своем методе, он получит распространение стека вызовов. Если он не обрабатывается нигде, выполнение заканчивается трассировкой стека.

Смежные вопросы