`
ginge
  • 浏览: 212611 次
  • 性别: 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));

	}
}

 

分享到:
评论

相关推荐

    组织块使用示例-跟我学.swf

    组织块使用示例-跟我学swf,组织块使用示例-跟我学。

    Tableau入门-示例-超市分析

    Tableau入门-示例-超市分析

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

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

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

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

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

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

    2020-09-01 海康威视MFC综合示例(VS2019 调试通过).zip

    这个综合示例对于那些想要快速入门海康威视设备开发的开发者来说非常有价值,它提供了一个可以直接运行的基础框架,减少了从零开始搭建环境和编写基础代码的时间。通过深入研究和修改这个示例,开发者可以定制出满足...

    Jmockit用法示例

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

    jmockit-1.6.rar

    3. **示例**:可能提供一些示例项目或测试用例,演示如何使用JMockit进行单元测试。 4. **许可证文件**:关于软件授权的信息,规定了使用和分发JMockit的条款。 为了使用JMockit,你需要将"jmockit-1.6.jar"添加到...

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

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

    iOS-SQLite入门示例

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

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

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

    Spring boot 示例 官方 Demo

    spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 ...spring-boot-admin-simple:Spring Boot Admin 的使用示例

    RxJava2 示例 - 这可能是从 RxJava1 跳到 RxJava2(学习 RxJava2 )最好的示例 Demo.zip

    RxJava 1.x, 直接学习 RxJava 2.x一套完整的操作符清单支持与 Retrofit 交互处理示例Activity 基类封装处理文章链接这可能是最好的 RxJava 2.x 入门教程(完结版)这可能是最好的 RxJava 2.x 入门教程(一)这可能是...

    安信可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的接口说明 - ...

    jmockit

    JMockit使用Java代理(Java代理API)和字节码操作(ASM库)来在运行时修改类的行为。通过在测试运行期间动态插入模拟代码,它能够替换实际的依赖项,从而允许测试代码独立于外部系统或不可控因素。 3. **主要特性*...

    CXF示例代码-Spring MVC示例代码-20130313

    本资源,是一些示例代码,包括CXF,Spring MVC,是编写博文的示例代码。同时会不断的修改,最新版本...1.博文示例代码:使用CXF和Spring搭建Web Service 2.博文示例代码:第 1 部分:Spring MVC入门,快速搭建web应用

    jmockit使用例子

    这个“jmockit使用例子”很可能会涵盖如何利用JMockit进行测试的基本步骤,以及如何改变静态方法的模拟实现。 在Java开发中,单元测试是确保代码质量的重要环节。然而,当涉及到依赖于外部系统、静态方法或不可控...

    jmockit jmockit jmockit jmockit

    5. **动态代理(Dynamic Proxy)**:JMockit使用Java的动态代理技术来实现模拟和验证,这使得它可以模拟静态方法和final类,这是许多其他模拟框架无法做到的。 6. **兼容性**:JMockit与JUnit、TestNG等流行的测试...

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

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

Global site tag (gtag.js) - Google Analytics