Mockito-入门

前言

工作中测试框架使用的是Mockito,在网上看到很多人将其与EasyMock还有JMock进行比较,突出其简易和方便的特点。我的确觉得Mockito很方便而且使用简单,但是我没有用过EasyMock和JMock,所以主要来跟大家分享下我在工作中对于Mockito的认识。

正题

简介

Mockito是一个针对Java的mocking框架。相信大家都知道单元测试,所谓单元测试,就是需要突出其单元的特点即独立性。比如我们的一个Service类,里面肯定会调用一些Dao类。如果我们直接去测试Service的话就会去调用真实的Dao从而会连接数据库,这么一来只要dao失败了,Service肯定也会跟着失败,因为他们是耦合的,这是一个集成测试而不是单元测试。

Mockito这种框架的出现就是解决这个耦合问题,它可以Mock一个dao类,也就是我们不需要真正调用dao的方法,默认dao的方法都是成功的只需要根据我们的需求返回我们需要的值就Ok,这样我们就可以把焦点放到Service类里面的逻辑测试上面,从而实现了“单元”测试。

初识Mockito

开始之前可以先去官网http://mockito.org/ or https://code.google.com/p/mockito/downloads/list下载Mockito的jar包。

引入Mockito

我们在使用Mockito之前先引入Mockito的类,由于它的方法都是static的,所以我们可以直接引入static的方法,这样在使用的时候就不用加上类名了,但是对于初用者我建议使用非static的,因为对其方法还不是很熟,加上类名方便熟悉其个方法。

import    org.mockito.Mockito.*; 或者import    static    org.mockito.Mockito.*;

我们现根据Mockito的特点举出几个简单的示例:

import static org.mockito.Mockito.*;
import java.util.List;
import org.junit.Test;

public class TestMockito {

	@Test
	public void testMockito1() {
		// mock creation
		List mockedList = mock(List.class);

		// using mock object
		when(mockedList.get( 0 )).thenReturn( "first" );
		mockedList.add("one");
		mockedList.clear(); 

		// 下面会输出“first”,因为前面设定了期望值
		System.out.println(mockedList.get(0));

		// 验证add方法是否在前面被调用了一次,且参数为“one”。clear方法同样。
		verify(mockedList).add("one");
		verify(mockedList).clear();
	}
}

小结:

本篇只是让大家对Mockito有个初步的认识,后续我会介绍Mockito各个方法的使用以及我在工作中的应用。

时间: 2024-11-06 09:56:22

Mockito-入门的相关文章

Mockito入门使用一例

Mock的使用有很多方式,我们常用的有以下几种,看示例代码 public class TestMock { @Mock A a;//生成一个A的Mock @Spy A a1 = new A();//生成一个A的Spy, Spy或是InjectMocks必需自己初始化对象,Mock可以不用初始化 @Before public void init(){ MockitoAnnotations.initMocks(this);//初使化Mock } @Test public void testGo(){

mockito入门学习

需要导入import static org.mockito.Mockito.*; import static org.junit.Assert.*; import java.util.Iterator; import org.junit.Test;mock可以模拟各种各样的对象,替代真正的对象做出希望的响应.使用mockito的方法:1.使用mock()模拟对象.//模拟LinkList的一个对象 LinkedList mockdedList = mock(LinkedList.class);/

Mockito教程

Mockito教程 2017-01-20 目录 1 Mockito 介绍   1.1 Mockito是什么?  1.2 为什么需要Mock  1.3 Stub和Mock异同  1.4 Mockito资源  1.5 使用场景2 使用Mockito  2.1验证行为  2.2 模拟我们所期望的结果  2.3 RETURNS_SMART_NULLS和RETURNS_DEEP_STUBS  2.4 模拟方法体抛出异常  2.5 使用注解来快速模拟  2.6 参数匹配  2.7 自定义参数匹配  2.8

Mockito 简明教程

原文同步至 http://waylau.com/mockito-quick-start/ Mock 测试是单元测试的重要方法之一.本文介绍了基于 Java 语言的 Mock 测试框架 - Mockito 的使用. 什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的

spring中使用mockito

1 mockito介绍和入门 官方:https://github.com/mockito/mockito 入门: 5分钟了解Mockito http://liuzhijun.iteye.com/blog/1512780 Mockito:一个强大的用于 Java 开发的模拟测试框架 http://www.oschina.net/translate/mockito-a-great-mock-framework-for-java-development 2 spring中正常使用mockito 上de

Java Mocking入门—使用Mockito

Java Mocking入门—使用Mockito 2014/03/10 | 分类: 基础技术 | 0 条评论 | 标签: 单元测试 分享到:8 本文由 ImportNew - liken 翻译自 dzone.欢迎加入翻译小组.转载请见文末要求. 我们都会编写单元测试程序,但我们当前所面临的挑战是被测单元可能依赖于其他组件.而对于单元测试配置其他组件,绝对是过枉矫正.相反,我们可以使用Mocks框架代替其他组件,继续进行单元测试. 为了展现如何使用mock框架,我编写一个数据访问层(DAL),该类

Mock 模拟测试简介及 Mockito 使用入门

Mock 是什么 mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代替品. 简单的看一张图 我们在测试类 A 时,类 A 需要调用类 B 和类 C,而类 B 和类 C 又需要调用其他类如 D.E.F 等,假如类 D.E.F 构造很耗时又或者调用很耗时的话是非常不便于测试的(比如是 DAO 类,每次访问数据库都很耗时).所以我们引入 Mock 对象. 如上图,我们将

spring boot 入门篇

什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 使用spring boot有什么好处 其实就是简单.快速.方便!平时如果我

JUnit + Mockito 单元测试(二)

JUnit 是单元测试框架.Mockito 与 JUnit 不同,并不是单元测试框架(这方面 JUnit 已经足够好了),它是用于生成模拟对象或者直接点说,就是"假对象"的工具.两者定位不同,所以一般通常的做法就是联合 JUnit + Mockito 来进行测试. 入门 首先是配置 Mock 对象,看看例子怎么写的. [java] view plain copy List mock = mock( List.class ); when( mock.get(0) ).thenReturn

Spring Boot 快速入门

什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 使用spring boot有什么好处 其实就是简单.快速.方便!平时如果我