使用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的验证方法或其他任何功能.以这种方式使用Mockito可以/足够吗?