我目前正在使用 Mockito 在 Spring MVC 应用程序中模拟我的服务层对象,我想在其中测试我的控制器方法。然而,当我阅读 Mockito 的细节时,我发现这些方法doReturn(...).when(...)
相当于when(...).thenReturn(...)
。所以,我的问题是有两种方法做同样的事情有什么意义,或者两者之间的细微差别是什么doReturn(...).when(...)
and when(...).thenReturn(...)
?
任何帮助,将不胜感激。
存根的两种语法大致相同。但是,您可以always use doReturn/when
用于存根;但有些情况下你can't use when/thenReturn
。存根无效方法就是其中之一。其他包括与 Mockito 间谍一起使用,以及多次对同一方法进行存根。
一件事是when/thenReturn
给你,那个doReturn/when
不是,是在编译时对您返回的值进行类型检查。然而,我相信这几乎没有任何价值——如果你的类型错误,你一运行测试就会发现。
我强烈建议只使用doReturn/when
。当一种语法可以用时,学习两种语法是没有意义的。
您不妨参考我的回答形成 Mockito“语法” https://stackoverflow.com/questions/11462697/forming-mockito-grammars- 对一个非常密切相关的问题的更详细的回答。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)