我是mockito的新手。
需要知道存根和
之间的区别 1. stub(cpproxy.getBinList()).toReturn(gettestbins());
2. when(cpproxy.getBinList()).thenReturn(gettestbins());
这两者之间有什么区别?
答案 0 :(得分:67)
实际上它们在技术上是一样的。当Mockito第一次创建时,我们讨论的是存根,所以词汇表遵循了这个想法。后来人们认为最好在交互而不是技术术语中思考,所以词汇表遵循时......然后...... 样式。 词汇量的这种变化有助于人们在对象之间考虑交互,消息。这是面向对象语言(quoting Alan Kay)中最有趣的想法(消息传递)。
如今,测试方法已演变为行为驱动开发(来自Dan North),这几乎是一回事,但更关注设计时的行为。为了反映这种想法,人们要求Mockito提供反映这种变化的API。所以你也可以使用来自BDDMockito
given(the_type.performs_that()).willReturn(something)
这是我首选的词汇,因为我使用测试来驱动我的对象设计。