AEM Mockito Junit 5 не может покрыть блок catch

#mockito #aem #junit5

#mockito #aem #junit5

Вопрос:

Как мне покрыть блок catch для методов, которые возвращают void в junit5 и mockito.

упомянутый ниже метод дампа возвращает void и вызывает исключения RepositoryException и JSONException.

tidyJosnItemWrite.дамп(узел, StringWriter, -1);

Ответ №1:

Вам нужно написать новый тестовый пример, как показано ниже.

 @Test
void testGetJson {      

    doThrow(new RepositoryException()).when(tidayJsonItemWriter).dump(Mockito.any(), Mockito.any(), Mockito.any());
            
    ctx.addModelsForClasses(Aem.class);
    ctx.getJson(node, tidyJosnItemWriter);
}
  

Комментарии:

1. не работает, так как запрашивает выдачу исключения в сигнатуре метода, и после выдвижения исключения появляется другая ошибка «тип void здесь не требуется»

2. Какой тип возвращаемого dump метода?

3. возвращаемый тип — void.

4. Я обновил ответ, что касается метода void, то издевательство отличается

5. Теперь получаем исключение нулевого указателя в строке doThrow с сообщением «Здесь обнаружено несоответствие неуместных или неправильно использованных аргументов».