Как вы знаете, оператор ||
вызовет код с обеих сторон (чтобы получить одно истинное значение), а null.trim()..
вызовет исключение.
Поскольку ожидаемое поведение метода StringUtils.isEmpty
является чтобы генерировать исключение при передаче значения null
, поэтому вы должны написать модульный тест, чтобы ожидать исключения со значением null
как:
@Test(expected = NullPointerException::class)
fun isEmpty_null_exception(){
StringUtils.isEmpty(null)
}
здесь excepted
используется для утверждения, что это тестовый метод вызывает исключение NullPointerException
.
Примечание: Использование метода mock для StringUtils.isEmpty stati c выполняется с помощью PowerMock framework, но это нарушает Цель тестирования - проверить фактическое поведение кода, поэтому используйте рекомендованный выше подход для проверки исключения. Вы можете создать фиктивную входную переменную и фиктивный метод trim
, но тогда вы можете просто использовать ненулевую входную строку, никакой разницы не будет.