我有一个方法impersonate
的类,它会抛出UnsupportedOperationException
。所以我想只模仿这种方法。我知道我可以使用Mockito.spy
。
Session session = Mockito.spy(new Session("admin", "adminSpace"));
Session imperSession = new Session("test", "testSpace");
when(session.impersonate(any(Credentials.class))).thenReturn(imperSession);
但问题是Mockito真的调用impersonate
而UnsupportedOperationException
会抛出执行。那我该怎么办?
答案 0 :(得分:3)
如果你必须确保mockito在被嘲笑之前没有调用你的方法,你必须使用Mockito.doXXX()
方法而不是Mockito.when()
。
在您的情况下,代码应如下所示:
doReturn(imperSession).when(session).impersonate(any(Credentials.class));