2011-06-17 28 views
1

你好我想知道,如果有什麼辦法可以動態修改Mo​​ckito中的模擬行爲。Mockito中動態改變行爲的模擬

例如,我有一個方法count(),我希望Mockito每次我在模擬上調用它時返回一個更高的值。

謝謝。

回答

6

是...創建一個Answer並使用doAnswer()將其存儲在您的模擬中。

1

當然,對於你的count() - 獲得增量的方法,Mockito-Answer是最好的方法。

BTW:但無論如何提醒的是,你可以「改變」(定義)一個嘲笑法的行爲在以後的調用情況:

when(mock.someMethod("some arg")) 
.thenThrow(new RuntimeException()) 
.thenReturn("foo"); 

這裏你可以看到第一次調用拋出RuntimeException,第二次調用返回字符串「foo」...