存根与mockito之间的区别

我是mockito的新手。

需要知道存根和何时的区别

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

这两者之间有什么区别?

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

如今,测试方法已演变为行为驱动开发(来自Dan North),这几乎是一回事,但更关注设计时的行为。 为了反映这种想法,人们要求Mockito提供反映这种变化的API。 所以你也使用来自BDDMockito 给定… will …样式

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

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