我正在使用Mockito 1.9.0。我想在JUnit测试中模拟类的单个方法的行为,所以我有

final MyClass myClassSpy = Mockito.spy(myInstance);
Mockito.when(myClassSpy.method1()).thenReturn(myResults);

问题是,在第二行中,myClassSpy.method1()实际上被调用,从而导致异常。我使用模拟的唯一原因是,以便以后每次调用myClassSpy.method1()时,都不会调用真实方法,并且会返回myResults对象。
MyClass是接口(interface),而myInstance是该接口(interface)的实现(如果很重要)。

我需要怎么做才能纠正这种 spy 行为?

最佳答案

让我引用the official documentation:

就您而言,它类似于:

doReturn(resulstIWant).when(myClassSpy).method1();

10-04 16:58