При использовании Mockito я использую его только для имитации зависимостей, т.е. мой рабочий процесс выглядит в основном так:
У меня есть класс с зависимостями:
public class C {
public C (A a, B b) {
this.a = a;
this.b = b;
}
public String fooBar() {
return a.foo() + b.bar();
}
}
В моем тестовом классе я имитирую эти зависимости , и скажите им, какие значения возвращать при вызове некоторых указанных методов:
public class CSpec {
private A a = mock(A.class);
private B b = mock(B.class);
@Test
public itShouldReturnFooBar() {
when(a.foo()).thenReturn("foo");
when(b.bar()).thenReturn("bar");
C c = new C(a, b);
assertThat(c.fooBar().isEqualTo("foobar"));
}
}
(надеюсь, этот пример не слишком простой или слишком производный ;-)). Это отлично работает, это позволяет мне тестировать классы (здесь: C) изолированно. Тем не менее, я никогда не использую методы Mockito verify
или какие-либо другие его функции. Хорошо / достаточно ли использовать Mockito таким образом?