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