怎么在Mockito中返回和返回不同?

时间:2014-12-05 17:07:34

标签: mockito

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

选项1:

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

选项2:

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

其他人问过类似的问题(Mockito - difference between doReturn() and when()),但我在询问toReturn()这个问题没有解决的问题。

1 个答案:

答案 0 :(得分:1)

stub(T).toReturn(...)仅由when(T).thenReturn(...)取代deprecated syntax。适用与the question you linked中相同的规则和指南:

  • when().thenReturn()stub().toReturn()可以执行返回类型检查
  • doAnswer().when()是存根无效方法的唯一方法
  • 间谍和已经存根的对象中的
  • doReturn().when() avoids calling the real method

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