Ram*_*mya 35 java unit-testing junit4 mockito
我是mockito的新手.
需要知道存根与何时的区别
1. stub(cpproxy.getBinList()).toReturn(gettestbins());
2. when(cpproxy.getBinList()).thenReturn(gettestbins());
Run Code Online (Sandbox Code Playgroud)
这两者之间有什么区别?
Bri*_*ice 72
实际上它们在技术上是一样的.当Mockito第一次创建时,我们讨论的是存根,所以词汇表遵循了这个想法.后来人们认为在互动而不是技术术语中思考是更好的,所以词汇遵循时间...然后......风格.词汇表的这种变化有助于人们思考交互,对象之间的消息传递.这是面向对象语言中最有趣的想法(消息传递)(引用Alan Kay).
如今,测试方法已演变为行为驱动开发(来自Dan North),这几乎是同样的事情,但更关注设计时的行为.为了反映这种想法,人们要求Mockito提供反映这种变化的API.所以你也使用给定...将...样式来自BDDMockito
given(the_type.performs_that()).willReturn(something)
Run Code Online (Sandbox Code Playgroud)
这是我首选的词汇,因为我使用测试来驱动我的对象设计.