#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. Привет, для метода пустоты это немного по-другому. Вы должны написать свой тест как-то по-другому. Я отредактирую свой ответ, чтобы показать вам это.