当前位置: 首页 > news >正文

哈尔滨网站建设贴吧苏州做网站公司精选苏州聚尚网络

哈尔滨网站建设贴吧,苏州做网站公司精选苏州聚尚网络,东莞企业建站收费产品推广,石狮网站建设联系电话Mockito是一个模拟框架#xff0c;可让您使用简洁的API编写漂亮的测试。 它偏向于最低规格#xff0c;使不同的行为看起来有所不同#xff0c;并显示清晰的错误消息。 创造嘲弄 要使用Mockito创建模拟#xff0c;只需使用Mock注释模拟#xff0c;然后调用MockitoAnnotati… Mockito是一个模拟框架可让您使用简洁的API编写漂亮的测试。 它偏向于最低规格使不同的行为看起来有所不同并显示清晰的错误消息。 创造嘲弄 要使用Mockito创建模拟只需使用Mock注释模拟然后调用MockitoAnnotations.initMocks(this) 。 import org.mockito.Mock; import org.mockito.MockitoAnnotations;public class FooClassTest {Mock mockFoo;public void setUp() {MockitoAnnotations.initMocks(this);...}... }存根值 存根值可以刺激现有代码的行为或临时替代尚待开发的代码。 默认情况下对于所有返回值的方法mock返回null空集合或适当的原始/原始包装器值例如0false…。 您可以按以下方式覆盖存根值。 一旦存根该方法将始终返回存根值而不管它被调用了多少次。 对于具有无效返回值的方法通常不需要将其存根。 import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; ... // a method that returns values when(mockFoo.someCall()).thenReturn(someValue); when(mockFoo.someCall()).thenThrow(new FooException()); // a method with a void return doThrow(new FooException()).when(mockFoo).voidMethodThatThrows();验证方法是否被调用 // call the subject under test verify(mockFoo, times(2)).someCall(); verify(mockFoo).someCall(); verify(mockFoo).callWithVoidReturnType(); “粗略”和“验证”有什么区别 简而言之对于您并不真正关心的项目应使用“存根”但它们必须通过测试。 相反应使用“验证”来验证行为。 验证单个对象的调用顺序 InOrder order1 Mockito.inOrder(mockFoo); order1.verify(mockFoo).firstCall(); order1.verify(mockFoo).thirdCall();InOrder order2 Mockito.inOrder(mockFoo); order2.verify(mockFoo).secondCall(); order2.verify(mockFoo).fifthCall();验证跨多个对象的调用顺序 Foo mockFoo Mockito.mock(Foo.class); Bar mockBar Mockito.mock(Bar.class);// call the subject under test InOrder order Mockito.inOrder(mockFoo, mockBar) order.verify(mockFoo).firstCall(); order.verify(mockBar).secondCall();验证仅进行了预期的呼叫 通常不再进行交互的测试应该很少。 // call the subject under test verify(mockFoo).expectedCall(); verify(mockFoo).someOtherExpectedCall(); verifyNoMoreInteractions(mockFoo);验证未拨打特定电话 测试未发出特定呼叫通常比检查“不再有呼叫”要好。 // call the subject under test verify(mockStream, never()).close();匹配器 当和equals不能用于存根或验证时我们可以将匹配器用于模拟方法参数。 如果您发现需要复杂的匹配器请考虑简化您的测试对象或测试或者考虑使用手工制作的假冒代替模拟。 import static org.mockito.Mockito.*;// Both of these forms use equals when(mockFoo.set(blah, 2)).thenReturn(value); when(mockFoo.set(eq(blah), eq(2))).thenReturn(value);when(mockFoo.set(contains(la), eq(2))).thenReturn(value); when(mockFoo.set(eq(blah), anyInt())).thenReturn(value); when(mockFoo.set(anyObject(), eq(2))).thenReturn(value); when(mockFoo.set(isA(String.class), eq(2))).thenReturn(value); when(mockFoo.set(same(expected), eq(2))).thenReturn(value);ArgumentCaptorString sArg ArgumentCaptor.forClass(String.class); when(mockFoo.set(sArg.capture(), eq(2))).thenReturn(value); ... // returns last captured value String capturedString sArg.getValue(); ListString capturedStrings sArg.getAllValues();局部嘲弄 使用spy或CALLS_REAL_METHODS 您可能希望使用不调用现有方法或存根的备用存根语法 doReturn(The spy has control.).when(mockFoo).aMethod() 。 import org.mockito.Mockito;Foo mockFoo Mockito.spy(new Foo()); // Note: instance, not class. // Note: when calls the real method, see tip below. when(mockFoo.aMethod()).thenReturn(The spy has control.); // call the subject under test verify(mockFoo).aMethod(); // Verify a call to a real method was made. verify(mockFoo).someRealMethod(); // Alternative construct, that will fail if an unstubbed abstract // method is called. Foo mockFoo Mockito.mock(Foo.class, Mockito.CALLS_REAL_METHODS);翻译自: https://www.javacodegeeks.com/2014/09/mockito-101.html
http://www.pierceye.com/news/625251/

相关文章:

  • 项城市住房和城乡建设局网站融资平台公司
  • asp企业网站设计sage wordpress
  • 做视频网站需要哪些条件wordpress登录页面背景图片尺寸
  • 专门教做衣服的网站西宁电商网站建设
  • 无锡网站科技公司qq哪家公司开发的
  • 强化 门户网站建设今天的新闻大事
  • 专业做刀具网站的公司单页面网站模板
  • 企业网站制作及cms技术wordpress站点 HTML
  • 网络宣传网站建设制作加盟网络推广方案怎么写
  • 花店网站建设毕设介绍wordpress批量导入txt
  • 上海市网站建设定制百度推广怎么优化关键词的质量
  • 建设工程质量检测公司网站html5 响应式音乐网站
  • 网站建设托管推广海报中文域名做的网站
  • 临沂专业网站建设公司哪家好网站建设的网页
  • 当牛做吗网站源代码分享百度云帝国怎么做网站
  • 简约网站欣赏做美食网站赚钱吗
  • 一叶子网站建设目标教育平台oss做视频网站
  • 购物网站开发流程图wordpress 批量注册
  • 如何做网站优化的内容google网站推广
  • 网站模版亮点北京电商网站开发费用
  • 南昌专业的企业网站建设公司wordpress源码在哪
  • 农家院做宣传应该在哪个网站营销代码查询
  • 大型企业网站设计案例晋江做网站的公司哪家好
  • 海外模板网站有哪些全国网页设计大赛
  • 网站设计常州注册公司没有地址怎么弄
  • 注销建设工程规划许可证在哪个网站wordpress+Apache升级
  • 视频网站如何做盗链青岛商城网站开发
  • 网站主色调googleapis wordpress
  • 作网站番禺区网络推广渠道
  • app开发网站排行app制作平台排行