Mockito是非常小的一个mock工具,刚开始学习,写下一些学习的收获。
Mockito可以通过annotation和直接使用两种方式。这里针对每种使用方式,都会给出一些例子。
直接使用
我们使用mockito,主要是想通过这个工具,来模拟一些依赖项的实现,从而隔离其它依赖,运行我们的test。
所以,模拟其它接口(包括接口或者其它类的方法或者接口,以下统称为接口)是我们希望它能够帮我们完成的。
首先我们通过mock(clazz)这种方法创造出一个需要被mock的对象,obj,比方说mock(List.class)
然后,可以通过 when(obj.method).thenReturn(
return value )这种方法来使得我们模拟的接口返回一个结果给 我们。这样,就模拟了一个简单方法的实现。
annotation
常用的Annotation主要是@InjectMocks和@Mock,@Mock就是要被创建成mock对象的类,而@InjectMocks是需要mock对象的类,一般被annotate的类里面会包含@Mock annotate的类型作为成员变量。annotation方式需要做的就是把@Mock注入到@InjectMocks里面作为mock对象,这一切的发生需要MockitoAnnotations.initMocks(this)的执行,一定要在预先执行。我是这么写:
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
when(dao1.findResult()).thenReturn("123");
when(dao2.findResult()).thenReturn("456");
}
分享到:
相关推荐
PowerMock是一个扩展了其它如EasyMock等mock框架的、功能更加强大的框架。PowerMock使用一个自定义类加载器和字节码操作来模拟静态方法,构造函数,final类和方法,私有方法,去除静态初始化器等等。通过使用自定义...
知道什么是mock测试后,那么我们就来认识一下mock框架---Mockito除了有一个好记的名字外,Mockito尝试用不一样的方法做mocking测试,是简单轻量级能够替代EasyMock的框架。使用简单,测试代码可读性高,丰富的文档...
Mockito是一个为Java开发的强大的模拟测试框架。其主要功能是创建和配置Mock对象,以简化存在外部依赖的类的测试。通过使用Mockito,我们可以虚拟出一个外部依赖,这样可以降低测试组件之间的耦合度,使得我们能更...
相比 JUnit, JTest, Mockito, Mockk 等一堆 Compiling testing 工具: 1.其它工具需要每个方法都写一大堆测试代码,需要开发成本、需要解决测试代码的 bug、业务代码更改后需要同步修改测试代码等; UnitAuto 不需要...
学习使用Java和Selenium进行自动化测试 课程链接: : 您迈向出色的自动化测试仪的第一步 课程清单 入门 Eclipse- https://courses.in28minutes.com/p/eclipse-tutorial-for-beginners Maven- ...
我是一位具有各种技能的多才多艺的开发人员,具有计算机科学和机器学习的理论知识以及它们的实际应用程序。 通过Jarvis,我使用Java 1.8,Maven,Linux / Bash,Git,Docker和RDBMS从事了许多独特的项目。 我非常...
还有一个附加的枚举-等级,这是Firefighter的属性。该项目的主要目标是根据TDD方法(特别是BDD)(给定/何时/然后)进行构建。我还尝试编写三种不同类型的测试-单元测试,集成测试,端到端测试。核心项目是用Spring...
计划是记录我的知识/学习如何做你需要什么才能开始#####Java 开发人员环境6.0 或更高版本,推荐 7.0 版本Java SE #####IDE Eclipse - Netbeans - Intellij - (有一个开源版本,但他们推销他们的付费版本) #####...
但经过一段时间后,这些知识点和技术又忘得差不多了,等到要用的时候又要搜索很多的资料从头到尾学习一次,浪费很多的时间,没有沉淀和积累。 在这里,通过文章和代码,把这些知识点和技术的主要内容记录并汇总,供...
介绍今天的Spring Framework仍然和我十二年前第一次使用它时一样受欢迎。 在架构已完全改变的令人难以置信的动态世界中,这怎么可能?您将学到什么您将学习Spring框架的基础知识-依赖注入,IOC容器,应用程序上下文...
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。 第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...
熟悉:谷歌云平台(GCP)、Springboot、C、Mockito、Android Studio 贾维斯项目 项目源码: Cluster Monitor []:开发了一个 Linux Cluster Monitoring Agent,它使用 bash 脚本通过 Docker 部署 PostgreSQ
它是作为Spring和Hibernate的学习经验而创建的。 这是一个后端应用程序,应该由前端REST客户端“消耗”。 Angular JS。 它通过HTTP请求支持基本的CRUD操作。 使用的堆栈: Sprint Boot 数据库控制版本的Flyway ...
此外,学习并实现了使用Mockito使用Kotlin Coroutines为ViewModel编写单元测试。 使用Esspresso为活动创建了UI测试。应用组件1. GitRepoActivity 它是应用程序的主要视图。 它具有一些著名的git用户的下拉菜单(Sp
Mockito教程:通过25个Junit示例学习模拟 step01.md到step18.md文件用于第5节 第一节简介 •什么是JUnit? •为什么要进行单元测试? 第2节使用Junit进行单元测试。 @测试注释 运行JUnit 没有失败=成功 基本断言...
在此实时编码中,我们将学习如何统一测试用于啤酒库存管理的REST API。 我们将开发单元测试以验证我们的啤酒库存管理系统,还将介绍使用JUnit和Mockito创建单元测试的主要概念和优势。 此外,我们还将展示如何通过...
在此实时编码中,我们将学习如何统一测试用于啤酒库存管理的REST API。 我们将开发单元测试以验证我们的啤酒库存管理系统,还将介绍使用JUnit和Mockito创建单元测试的主要概念和优势。 此外,我们还将展示如何通过...
在此实时编码中,我们将学习如何统一测试用于啤酒库存管理的REST API。 我们将开发单元测试以验证我们的啤酒库存管理系统,还将介绍使用JUnit和Mockito创建单元测试的主要概念和优势。 此外,我们还将展示如何通过...
在此实时编码中,我们将学习如何统一测试用于啤酒库存管理的REST API。 我们将开发单元测试以验证我们的啤酒库存管理系统,还将介绍使用JUnit和Mockito创建单元测试的主要概念和优势。 此外,我们还将展示如何通过...