Java Mockito-doReturn()和when()之间的区别
我目前正在使用Mockito
在Spring MVC
应用程序中模拟我的服务层对象的过程中,我想在其中测试我的Controller
方法。但是,当我阅读Mockito的细节时,我发现这些方法doReturn(...).when(...)
等效于when(...).thenReturn(...)
。所以,我的问题是什么是有两个方法,做同样的事情或之间有什么细微的区别点doReturn(...).when(...)
和when(...).thenReturn(...)
?
任何帮助,将不胜感激。
回答:
存根的两种语法大致相同。但是,你始终可以将其doReturn/when
用于存根。但是在某些情况下你不能使用when/thenReturn
。废除无效方法就是这样的一种。其他方法包括与Mockito
间谍一起使用,并多次重复使用相同的方法。
可以when/thenReturn
提供(doReturn/when
但不能提供)的一件事是在编译时对返回的值进行类型检查。但是,我认为这几乎没有任何价值-如果你输入的类型有误,则可以在运行测试后立即发现。
我强烈建议仅使用doReturn/when
。学习两种语法何时会奏效没有意义。
你可能希望参考我在Forming Mockito
“语法”中的答案-有关一个非常紧密相关的问题的更详细的答案。
以上是 Java Mockito-doReturn()和when()之间的区别 的全部内容, 来源链接: utcz.com/qa/435352.html