Ответ 1
Заменить
when( m.a() ).thenReturn( ... );
с
doReturn( ... ).when(m).a();
Я новичок в Mockito и хочу использовать его в модульных тестах.
То, что мне не нравится, - это mocks, созданные с помощью Mockito.mock(Class<T>)
возвращают значения по умолчанию (например, null
) для методов, которые явно не определены. Вместо этого я хочу, чтобы они генерировали исключение в этом случае, поэтому я знаю, что мне нужно добавить это определение.
Я попробовал следующее:
SomeType m = mock( SomeType.class, new ThrowsException( new SomeRuntimeException( ... ) ) );
when( m.a() ).thenReturn( ... );
m.a(); // ok
m.b(); // throws exception
Но это не работает, потому что исключение вызывается уже во время вызова when()
.
Есть ли другой способ достичь этого?
Заменить
when( m.a() ).thenReturn( ... );
с
doReturn( ... ).when(m).a();