4
У меня есть интерфейс, например:Тест метод, который вызывает другой метод объекта в Mockito
interface MyService {
void createObj(int id)
void createObjects()
}
Я хочу, чтобы проверить реализацию метода createObjects
, который имеет тело, как:
void createObjects() {
...
for (...) {
createObj(someId);
}
}
Я уже опробовали createObj(id)
:
@Test public void testCreate() {
//given
int id = 123;
DAO mock = mock(DAO.class);
MyService service = new MyServiceImpl(mock);
//when
service.createObj(id);
//verify
verify(mock).create(eq(id));
}
Так что я не хочу, чтобы повторить все тестовые примеры для него в тесте для createObjects
.
Как я могу убедиться, что другой метод реального объекта был вызван помимо того, который я тестирую?
спасибо. Я использую именно это. Но документы говорят, что это может «пахнуть», поэтому я думаю о том, почему это так и как этого избежать :) – glaz666
Это именно то, для чего нужны шпионы. «Запах» не обязательно означает, что что-то не так; только что-то ** может быть ошибочным. В этом конкретном случае это правильная вещь. –