2015-03-13 80 views
0

我有一個方法impersonate的類,其中拋出UnsupportedOperationException。所以我只想嘲笑這個唯一的方法。我知道我可以用Mockito.spy做到這一點。Mockito。模擬引發異常的單個方法

Session session = Mockito.spy(new Session("admin", "adminSpace")); 
Session imperSession = new Session("test", "testSpace"); 
when(session.impersonate(any(Credentials.class))).thenReturn(imperSession); 

但問題是,真正的Mockito調用impersonateUnsupportedOperationException拋出執行。那麼我能在這裏做什麼?

回答

2

如果您必須確保mockito不會調用您的方法befor它被嘲笑,您必須使用Mockito.doXXX()方法而不是Mockito.when()

在你的情況下,代碼應該是這樣的:

doReturn(imperSession).when(session).impersonate(any(Credentials.class)); 
+0

太謝謝你了。它真的解決了我的問題。 – 2015-03-13 12:14:37