`
ginge
  • 浏览: 211844 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jmockit 的使用示例-01入门

 
阅读更多
package jmockit.sample;

import jmockit.target.WinportUrlService;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;

import org.junit.Test;

/**
 * 最简单的Mock示例;我们要在需要mock的类加上注解@Mocked或者@NonStrict;录制Expectations可有可没有。没有录制时,被mock的方法只会返回一个默认的值。验证Verifications可以有,也可以没有。
 * 
 * @author Ginge
 * 
 */
public class IntroductionTest {

	@Mocked
	// Mock的类型有Mocked和NonStrict
	private WinportUrlService winportUrlService = null;

	@Test
	public void testNoExpectations() {
		final String memberId = "test2009";
		Assert.assertEquals(false, winportUrlService.hasWinport(memberId));
	}

	@Test
	public void testWithExpectations() {
		final String memberId = "test2009";

		// 也可以是NonStrictExpectations//非严格的,所有声明的调用,声明的次数,返回的结果不用完全匹配
		new Expectations() {// 这种是严格的,所有声明的调用,声明的次数,返回的结果都会完全匹配
			{
				// 期望被mock的调用,以及被调用时返回的结果
				winportUrlService.hasWinport(memberId);
				result = false; // 也可以是returns(false);
				// 总共可以调用的次数
				times = 1;
			}
		};

		// 步骤二、replay 在此阶段,录制的方法被调用
		Assert.assertEquals(false, winportUrlService.hasWinport(memberId));

	}
}

 

分享到:
评论

相关推荐

    2020-11-15 JMockit中文网在github上的示例代码|jmockit_cn.zip

    - **动态代理**:JMockit使用Java的动态代理机制来实现模拟,无需修改被测试代码。 - **模拟静态方法**:对于难以测试的静态方法,JMockit可以提供解决方案。 - **模拟构造器**:Jockit可以模拟类的构造器,控制...

    Tableau入门-示例-超市 excel 表格 中文版

    Tableau入门,示例 超市 excel 表格 中文版

    PYNQ-Z1中文入门指导手册及示例程序

    这个压缩包提供了详细的中文入门指导手册和示例程序,旨在帮助用户快速掌握PYNQ-Z1的使用方法。 **PYNQ框架** PYNQ是Python Productivity for Zynq的缩写,是由赛灵思公司推出的一个开源框架。它允许开发者使用...

    RF-FW-ZD-01-F02 合同(协议)评审记录表(线上使用)-示例.zip

    RF-FW-ZD-01-F02 合同(协议)评审记录表(线上使用)-示例.zip

    Jmockit用法示例

    这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit,你可以编写出更加健壮和可维护的单元测试,确保代码的质量和稳定性。在实际项目中,Jmockit可以...

    Tkinter入门示例-“Hello World”应用程序.pdf

    Tkinter入门示例——“Hello World”应用程序

    ASP实例开发源码-艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip

    ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip

    项目实用makefile示例--project-test

    大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263

    基于波恩Bonn脑电(EEG)数据集和小波变换的机器学习(SVM和ANN)人工智能分类示例-MATLAB程序实现示例-带实验报告

    除此之外,报告也对一些基本的概念进行了介绍,算是一篇普及类的小报告吧,研究深度一般,里面有MATLAB实现的完整程序,希望能给各位带来一点入门的作用。 适合小白等刚刚进入人工智能领域的人员,研究深度一般。

    iOS-SQLite入门示例

    通过简单的SQL操作演示iOS SQLite框架的使用,还包括点击空白区域收起键盘的操作。本示例代码结构清晰,注释详尽,非常有助于初学者入门。 环境要求:项目在iOS SDK6.1和7.0环境下编译通过,其他SDK版本未测试。

    《Spring-Boot入门初体验》-视频教程-示例项目源代码 -SBTest.zip数学建模

    数学建模 《Spring_Boot入门初体验》_视频教程_-_示例项目源代码。_SBTest.zip

    uni-app从入门到精通-10311421.pdf

    在创建uni-app项目时,开发者可以选择新建项目或从模板创建,如可以选择hello-uniapp体验官方示例。运行uni-app时,可以在微信开发者工具里运行,需要先配置小程序ide的相关路径,才能运行成功。 总的来说,uni-app...

    hibernate-3.4 注解 入门简单示例

    hibernate-3.4入门的简单示例,用注解的方式操作oracle数据库。源码导入可运行。 还包括hibernate-annotations-3.4.0.GA.zip、hibernate-distribution-3.3.2.GA-dist.zip、slf4j-1.5.8.zip、ojdbc14.jar

    安信可LoRa快速入门指南

    接线2.1如下是Ra-01,Ra-01H,Ra-02对应51测试板的接线:2.2Ra-06自带MCU和LoRa调制程序,可使用另一个MCU的串口通过AT指令来控制它,接线如下图所示:三.烧录(测试程序)3.1示例固件烧录3.2示例固件测试四.AT...

    Tiny4412 Android硬件开发指南 (含示例源代码)

    2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接口说明 - 22 - 2.2.1 通用的输入输出接口 - 22 - 2.2.2 串口通讯的接口说明 - 23 - 2.2.3 开关LED的接口说明 - ...

    Qt-C++-peanutlib框架-示例程序-psample01u0

    `psample01u0`是一个使用Qt和Peanutlib的入门示例,目的是向开发者展示如何在实际项目中结合这两个库。这个示例可能涵盖了一些基本概念,如创建窗口、添加控件、处理用户交互以及使用Peanutlib提供的功能。通过分析...

    jmockit_sample:jmockit 使用示例代码和说明

    使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的...使用jmockit,不要使用jre,要用jdk,否则,可能出现比如java.lang.NoClassDefFoundError: org.junit.runner.Runner

    XUL开发示例-HelloWorld

    本程序包含了xul程序的基本框架,是初学者入门的不错的选择。下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例的源代码。本示例支持最高...

    JavaScript教程--从入门到精通(PPT精简版)

    JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...

    Cocoa入门 使用Objective-C 第二版70m

    Cocoa入门-使用Objective-C助您轻松体验Cocoa开发,不仅是阅读,还有动手实践。介绍完Xcode和Interface Builder之后,您将很快接触到Objective-C的面向对象编程概念,它是创建Mac OS X应用程序的首选语言。每章中都...

Global site tag (gtag.js) - Google Analytics