1.概述

这本食谱说明了如何使用Mockito验证在各种各样的useCases中。

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

我们将成为嘲笑一个简单的清单执行:

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

进一步阅读:

使用mockito嘲笑异常

学习配置方法调用以在Mockito中抛出异常。

Mockito的Java 8功能

java 8在Mockito框架中的支持概述,包括流和默认接口方法

使用Powermock嘲笑私有方法

了解Powermock如何用于扩展模仿和验证私人方法的模仿和验证所测试的私有方法的能力。

2.食谱

验证模拟的简单调用

list 模型列表= mock(mylist.class);mockedlist.size();验证(模型列表).size();

验证与mock的交互数量

list 模型列表= mock(mylist.class);mockedlist.size();验证(模型列表,时间(1))。大小();

验证与整个模拟的互动发生

list 模型列表= mock(mylist.class);验证者(模型列表);

验证未发生与特定方法的交互

list 模型列表= mock(mylist.class);验证(模型列表,时间(0))。size();

验证是否存在意外的交互 - 这应该失败:

list 模型列表= mock(mylist.class);mockedlist.size();模仿列表。Clear();验证(模型列表).size();验证程序(嘲笑列表);

验证交互顺序

list 模型列表= mock(mylist.class);mockedlist.size();mockedlist.add(“参数”);模仿列表。Clear();InOrder InOrder = Mockito.inorder(模型列表);Inorder.verify(模型列表).size();InOrder.verify(模型列表).add(“参数”);Inorder.verify(模型列表).clear();

验证是否没有发生交互

list 模型列表= mock(mylist.class);mockedlist.size();验证(模型列表,从不())。clear();

验证互动至少确定了一定的次数

list 模型列表= mock(mylist.class);模仿列表。Clear();模仿列表。Clear();模仿列表。Clear();验证(模型列表,至少(1))。CLEAR();验证(模型列表,最多(10))。CLEAR();

验证与确切参数的交互

list 模型列表= mock(mylist.class);Mockedlist.add(“测试”);验证(模型列表).add(“测试”);

使用灵活/任何参数验证交互

list 模型列表= mock(mylist.class);Mockedlist.add(“测试”);验证(模型列表).add(anystring());

使用参数捕获验证交互

list 模型列表= mock(mylist.class);mockedlist.addall(列表。 newarraylist(“seveElement”));ArgumentCaptor 参数inaptor = transigncaptor.forclass(list.class);验证(模仿列表).addall(ArgumentCaptor.Capture());列表 CapturedArgument = ArgumentCaptor。> getValue();assertthat(Capturedargument,Hasitem(“有点”));

3.结论

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

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

通用底部

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

>>查看课程
评论在本文上关闭!