在Mockito中,doReturn和toReturn有何不同



这两行代码有什么区别吗?

选项 1:

doReturn(masterQuery).when(tldSpy).makeMyInsightAPIQuery(anyString());

选项 2:

stub(tldSpy.makeMyInsightAPIQuery(anyString())).toReturn(masterQuery);

其他人问了一个类似的问题(Mockito - doReturn() 和 when()之间的区别),但我问的是toReturn()这个问题没有解决的问题。

stub(T).toReturn(...)只是一个不推荐使用的语法,替换为when(T).thenReturn(...)。与您链接的问题相同的规则和准则适用:

  • when().thenReturn()stub().toReturn()可以执行返回类型检查
  • doAnswer().when()是存根无效方法的唯一方法
  • doReturn().when()避免在间谍和已经存根的对象中调用真正的方法

否则,它们具有完全相同的行为和相同的后果,并且可以互换使用。

相关内容

  • 没有找到相关文章

最新更新