Какова проверка Mockito для эквивалента EasyMock.expectLastCall().anyTimes ()?

#mockito #easymock

Вопрос:

Перенос некоторых тестов с EasyMock на Mockito.

Код EasyMock выглядит так:

 Some mock = EasyMock.createMock(Some.class);
mock.someMethod(argMatcher);
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(mock);
 

Как выполнить эквивалентную (или аналогичную) проверку с помощью Mockito?

Ответ №1:

Я напишу такой тест:

 Some mock = Mockito.mock(Some.class);
Mockito.when(mock.someMethod(argMatcher)).thenReturn(aReturnObject);
yourTestedObject.setSome(mock)

yourTestedObject.someTestedMethodWhichUseSomeClass();

Mockito.verify(mock, Mockito.atLeastOnce()).someMethod(argMatcher);
 

И для пустотного метода:

 Some mock = Mockito.mock(Some.class);
Mockito.doNothing().when(mock).someMethod(argMatcher);
yourTestedObject.setSome(mock);

yourTestedObject.someTestMethodWhichUseSomeClass();

Mockito.verify(mock, Mockito.atLeastOnce()).someMethod(argMatcher);
 

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

1. Привет, Жюльен, спасибо, что помог мне. mock.someMethod () — это пустой метод. Это все еще применимо?

2. Привет, для метода пустоты это немного по-другому. Вы должны написать свой тест как-то по-другому. Я отредактирую свой ответ, чтобы показать вам это.