一尘不染

存根与在Mockito中时的区别

java

我是mockito的新手。

需要知道存根和时间之间的区别

      1. stub(cpproxy.getBinList()).toReturn(gettestbins());
      2. when(cpproxy.getBinList()).thenReturn(gettestbins());

两者之间有什么区别?


阅读 213

收藏
2020-12-03

共1个答案

一尘不染

实际上,它们在技术上是相同的。最初创建Mockito时,我们是在谈论存根,因此词汇遵循了这个想法。后来人们认为最好是用 交互 而非 技术
术语来思考,因此词汇表遵循的是 ……当时……之后的 风格。词汇上的这种变化有助于人们思考 对象* 之间的 交互消息传递
。在面向对象的语言( 引用Alan
Kay
)中,这是最有趣的想法( 消息传递 )。
* __ __

如今,测试方法已经发展为行为驱动开发(来自Dan
North),几乎是同一回事,但更多地侧重于设计时的行为。为了反映这种想法,人们要求Mockito提供反映这种变化的API。因此,您还可以使用
给定的…将… 样式BDDMockito

given(the_type.performs_that()).willReturn(something)

现在这是我的首选词汇,因为我使用测试来驱动对象设计。

2020-12-03