0
這是IM如何嘲笑我的服務調用和返回一個假結果的動態類方法參數:懲戒使用scalatest/mockiton
when(myService.doSomething("",fakeRequestAsModel)) thenReturn fakeResult
val result = call(controller.myActionMethod(), request)
的問題是在控制器方法myActionMethod
當我打電話doSomething
和傳遞參數IM調用一些財產,這將是在生產有返回值...
def myActionMethod() ... = {
myService.doSomething(request.getSomeValue,requestAsModel)
...
}
所以,getSomeValue
是一種方法,我只能調用生產,它帶有一個第三方庫,我不能覆蓋它。
我還能如何嘲笑這個電話嗎request.getSomeValue
會不會拋出異常?
和request.getSomeValue
是動態的,我很遺憾不能把它在配置...
謝謝你!這有幫助。你可以解釋一下'import org.mockito.Matchers。{eq => eqMockito,_}'這個import需要嗎?主要是'eq => eqMockito' – JohnBigs
@JohnBigs歡迎您!在Scala中,你可以**重命名**導入的東西,以避免名稱衝突。例如,你想將'java.util.List'稱爲'JList'或類似的東西。在這裏,我們將名爲'eq'的方法重命名爲'eqMockito'(或者任何你想要調用的方法)。您也可以從導入中排除一些內容,請參閱http://stackoverflow.com/questions/27945005/import-symbols-with-wildcard-but-rename-or-ignore-some-of-them –
,所以我們只更改了名稱所以它不會與scala eq衝突? – JohnBigs