1.概述

这本食谱显示如何使用mockito配置行为在各种例子和用例中。

重点是重点的食谱的格式实用 - 没有必要的无关细节和解释。

当然,如果您想了解更多关于与Mockito进行测试的信息,请看看金宝搏官网188be这里的其他小马书条文章

进一步阅读:

Mockito验证食谱

Mockito验证示例,使用和最佳实践。

模仿 - 使用间谍

充分利用Mockito的间谍,以及间谍如何与模拟不同。

Mockito的模拟方法

本教程说明了Mockito API的标准静态模拟方法的各种用途。

我们将成为嘲笑一个简单的清单实现 - 我们在上一个食谱中使用的相同实现:

公共类MyList扩展了AbstractList  {@override public string get(final int index){return null;@override public int size(){返回1;}}

2.食谱

为模拟配置简单的返回行为

mylist listmock = mockito.mock(mylist.class);什么时候(listmock.add(anystring()))。然后return(false);Boolean添加= listmock.add(OrmantalPhetic(6));assertthat(补充,是(false));

以替代方法配置模拟的返回行为

mylist listmock = mockito.mock(mylist.class);doreturn(false)。(listmock).add(anystring());Boolean添加= listmock.add(OrmantalPhetic(6));assertthat(补充,是(false));

配置模拟以在方法调用上抛出异常

@Test(预期= IllegalStateException.class)public voidedmethodiscodisconfiguredtothrowexception_whencallingmethod_thenexceptionisthrown(){mylist listmock = mockito.mock(mylist.class);什么时候(listmock.add(anystring()))。thenthrow(IllegalStateException.class);listmock.add(Quantalphetobetic(6));}

使用void返回类型配置方法的行为 - 抛出异常

mylist listmock = mockito.mock(mylist.class);dothrow(nullpointerexception.class)。当(listmock).clear();listmock.clear();

配置多个呼叫的行为

mylist listmock = mockito.mock(mylist.class);什么时候(listmock.add(anystring())).thenreturn(false).thenthrow(IllegalstateException.class);listmock.add(Quantalphetobetic(6));listmock.add(Quantalphetobetic(6));//将抛出异常

配置间谍的行为

MyList instance = new mylist();mylist spy = mockito.spy(实例);dothrow(nullpointerexception.class)。(spy).size();spy.size();//将抛出异常

配置方法调用Mock上的真实,底层方法

mylist listmock = mockito.mock(mylist.class);什么时候(listmock.size())。thencallrealmethod();assertthat(listmock.size(),等于(1));

使用自定义答案配置模拟方法调用

mylist listmock = mockito.mock(mylist.class);Doanswer(调用 - >“始终相同”)。什么时候(listmock).get(anyint());字符串元素= listmock.get(1);assertthat(元素,是(“始终相同”))))));

3.结论

这种格式是一个实验 - 我正在发布我的一些内部开发食谱 - 给定主题 - 开启谷歌郭哈克斯特现在模仿。我们的目标是让这些信息在网上随时可用——并在遇到新的有用示例时将其添加到其中。

实现所有这些示例和代码片段可以找到过去GitHub.- 这是一个基于Maven的项目,因此应该易于导入和运行。

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
2注释
最老的
最新
内联反馈
查看所有评论
评论在本文上关闭!