我正在使用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();