Выдает исключение вместо возврата значения по умолчанию - PullRequest
18 голосов
/ 16 июня 2011

Я новичок в 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().

Есть ли какой-то другой способ добиться этого?

1 Ответ

15 голосов
/ 16 июня 2011

Заменить

when( m.a() ).thenReturn( ... );

на

doReturn( ... ).when(m).a();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...