莫基托。抛出异常的模拟单一方法
Mockito. Mock single method which throws an exception
我有一个 class 方法 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
抛出执行。那我可以在这里做什么?
如果你必须确保 mockito 在被模拟之前没有调用你的方法,你必须使用 Mockito.doXXX()
方法而不是 Mockito.when()
。
在您的情况下,代码应如下所示:
doReturn(imperSession).when(session).impersonate(any(Credentials.class));
我有一个 class 方法 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
抛出执行。那我可以在这里做什么?
如果你必须确保 mockito 在被模拟之前没有调用你的方法,你必须使用 Mockito.doXXX()
方法而不是 Mockito.when()
。
在您的情况下,代码应如下所示:
doReturn(imperSession).when(session).impersonate(any(Credentials.class));