2016-09-22 3 views

ответ

1

Используя методы assertX, убедитесь, что условие действительно подтверждено. Таким образом, используя assertNotNull, вы убедитесь, что что-то не равно нулю.

Правильный путь, как вы показали:

assertNotNull(foo); 
assertNotNull(foo.getBar()); 

Если начать копать глубже в метод assertNotNull, вы увидите это называют:

// First call 
static public void assertNotNull(Object object) { 
    assertNotNull(null, object); 
} 
// Second call 
static public void assertNotNull(String message, Object object) { 
    assertTrue(message, object != null); 
} 
// Third call 
static public void assertTrue(String message, boolean condition) { 
    if (!condition) { 
     fail(message); 
    } 
} 

Цитирование документации assertTrue:

Утверждает, что условие истинно. Если он не выбрасывает AssertionError с данным сообщением.

Заключение, вы не должны делать нулевые чеки после утверждения для не нулевых значений, поскольку JUnit является забота о том, что для вас

3

Вы делаете прямо с ...

assertNotNull(foo); 
assertNotNull(foo.getBar()); 

Вам не нужно, чтобы установить другое условие, чтобы проверить то же самое, если вы ранее делали это.

0

Вам даже не нужно иметь первую нулевую проверку. Тест завершится с NullPointerException, если foo имеет значение NULL. Дело в том, нужно ли иметь нулевую проверку или нет.