используйте doThrow (), чтобы НЕ создавать исключение, подобное doThrow(null, NullPointerException.class)

#java #junit #mockito

Вопрос:

Мне нужно что-то вроде doThrow(null, NullPointerException.class).when(myService).m1() того, чтобы не создавать исключений при первом вызове void m1() и NullPointerException при втором вызове.

doThrow() не принимает null .

Как я могу это решить?

Ответ №1:

Попробуй вот так:

doNothing().doThrow(NullPointerException.class).when(myService).m1();

Для методов, не являющихся пустыми, это можно сделать таким же образом:

  when(obj.methodName()).thenThrow(RuntimeException.class)
                       .thenReturn(something);
 

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

1. @gstackoverflow Никогда не сталкивался с такой проблемой. Следуете ли вы всем советам из документов, чтобы javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/… ?

2. Я перечитал эту страницу еще раз и все еще не вижу там никаких советов. Кстати, я не использую MockitoSession напрямую. Фреймворк использует его под капотом.