我试图在我的测试中 stub 一种 spy 方法,例如

AnotherClass anotherClass = mock(AnotherClass.class);
doReturn(any(MyClass.class)).when(mySpy).myMethod(anotherClass);

因此,mockito抛出InvalidUseOfMatchersException
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Misplaced argument matcher detected here:

-> at mypackage.MyTest.testMyMethod(MyTest.java:50)

谁能解释出什么问题了?

最佳答案

我认为您不了解doReturn的用法。您不应该尝试匹配所返回的内容。您在做什么,告诉Mockito要返回什么。见下文

AnotherClass anotherClass = mock(AnotherClass.class);
doReturn(new MyClass()).when(mySpy).myMethod(anotherClass);

关于java - Mockito与匹配器 stub ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23809908/

10-10 10:55