Javatpoint标志
Javatpoint标志

Mockito框架教程

5教程

Mockito教程提供了Mockito框架的基本和高级概念。我们的Mockito教程是为初学者和专业人士设计的。它将帮助您学习并使用Mockito框架创建单元测试。

Mockito是一个模仿框架。它是一个基于Java的库,用于创建简单和基本的测试api,用于执行Java应用程序的单元测试。它还可以与其他框架一起使用,例如JUnit而且TestNG

什么是单元测试?

单元测试是一种软件测试技术,其中测试软件的各个组件/部分,即一组计算机程序、使用过程等。对象的单元测试是在应用程序或项目开发期间进行的。单元测试的目的是分离出一段代码(单元)并验证其正确性。一个单元是指一个单独的功能或过程(程序)。开发人员通常在测试期间执行它。

什么是嘲讽?

模仿是一个开发对象的过程模拟克隆真实的物体。换句话说,模拟是一种测试技术,其中为了测试目的使用模拟对象而不是真实对象。模拟对象为传递给它的特定(虚拟)输入提供特定(虚拟)输出。

模拟技术不仅在Java中使用,而且在任何面向对象的编程语言中也使用。Java中有许多用于模拟的框架,但Mockito是其中最流行的框架。

要模拟对象,您需要理解模拟的三个关键概念,即存根(stub)、假(fake)和mock。有些单元测试只涉及存根,而有些则涉及假的和模拟的。

以下是对mock概念的简要描述:

  1. 存根:存根对象保存预定义的数据,并在测试期间提供它来响应调用。它们被称为具有测试所需最少数量方法的虚拟对象。它还提供了一些方法,在必要时验证用于访问存根内部状态的其他方法。存根对象一般用于验证状态
  2. 假:Fake是包含工作实现但与生产实现不同的对象。大多数情况下,它采用了捷径,还包含了产品代码的简化版本。
  3. 模拟:模拟对象在测试中充当真实对象的虚拟或克隆。它们通常由开源库或mock框架(如Mockito、EasyMock等)创建。模拟对象通常用于行为验证

需要嘲笑

在使用mock技术之前,我们应该知道使用mock的原因,这些原因如下:

  • 如果我们想测试一个依赖于另一个组件的组件,但该组件正在开发中。它通常用于在团队中工作,并且在几个团队成员之间分配部分。在这种情况下,模拟在该组件的测试中扮演着重要的角色。如果没有mock,我们需要等待完成测试所需的元素。
  • 如果实际组件在处理数据库连接或其他复杂的读/写操作时执行较慢的操作。有时数据库查询需要10秒、20秒或更长的时间来执行。在这种情况下,我们需要模拟对象来执行测试,这可以通过模拟来完成。
  • 如果存在使测试无法进行的基础设施问题。这和第一种情况很相似。例如,当我们创建到数据库的连接时,会出现一些与配置相关的问题。它需要模拟来创建模拟组件以提供单元测试。

Mockito是什么?

Mockito是一个基于Java的mock框架,用于Java应用程序的单元测试。Mockito在开发可测试应用程序中起着至关重要的作用。mokito作为开源测试框架发布麻省理工学院(MIT)许可证。它在内部使用Java Reflection API为特定接口生成模拟对象。模拟对象被称为用于实际实现的虚拟对象或代理对象。

使用Mockito框架的主要目的是通过模拟外部依赖关系并在测试代码中使用它们来简化测试的开发。因此,它提供了更简单的测试代码,更容易阅读、理解和修改。我们还可以将Mockito与其他测试框架一起使用JUnit而且TestNG

的语法和功能升级,从而开发了Mockito框架

EasyMock框架。它是由一个由Szczepan Faber, Brice Dutheil, Rafael Winterhalter, Tim van der Lippe,和其他人。Mockito的稳定或最新版本是版本3.0.6于2019年8月上映。

Mockito的好处

下面是Mockito框架的一些好处:

Mockito的好处
  • 没有的笔迹:在Mockito中,不需要编写模拟对象。
  • 没有的笔迹:在Mockito中,不需要编写模拟对象。
  • 安全的重构:当重命名接口的方法名或交换参数时,不会改变测试代码,因为模拟对象是在运行时创建的。
  • 除了支持:它支持异常。在Mockito中,堆栈跟踪用于查找异常的原因。
  • 注释支持:它使用@Mock这样的注释创建模拟对象。
  • 为了支持:它提供了对方法调用顺序的检查。

先决条件

在学习Mockito框架的概念之前,您应该有Java编程的实践经验,并对JUnit框架有一些基本的了解。

观众

我们的Mockito教程旨在帮助初学者和专业人士。

问题

我们向您保证,您不会发现任何问题与我们的Mockito教程。但如果您有任何疑问或问题,请在我们的联系表格中填写。


下一个话题 模拟的方法





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map