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));
}
}
分享到:
相关推荐
- **动态代理**:JMockit使用Java的动态代理机制来实现模拟,无需修改被测试代码。 - **模拟静态方法**:对于难以测试的静态方法,JMockit可以提供解决方案。 - **模拟构造器**:Jockit可以模拟类的构造器,控制...
Tableau入门,示例 超市 excel 表格 中文版
这个压缩包提供了详细的中文入门指导手册和示例程序,旨在帮助用户快速掌握PYNQ-Z1的使用方法。 **PYNQ框架** PYNQ是Python Productivity for Zynq的缩写,是由赛灵思公司推出的一个开源框架。它允许开发者使用...
RF-FW-ZD-01-F02 合同(协议)评审记录表(线上使用)-示例.zip
这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit,你可以编写出更加健壮和可维护的单元测试,确保代码的质量和稳定性。在实际项目中,Jmockit可以...
Tkinter入门示例——“Hello World”应用程序
ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip ASP实例开发源码—艾恩 Ajax 无刷新文件上传最新示例集 2009-11-01.zip
大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263
除此之外,报告也对一些基本的概念进行了介绍,算是一篇普及类的小报告吧,研究深度一般,里面有MATLAB实现的完整程序,希望能给各位带来一点入门的作用。 适合小白等刚刚进入人工智能领域的人员,研究深度一般。
通过简单的SQL操作演示iOS SQLite框架的使用,还包括点击空白区域收起键盘的操作。本示例代码结构清晰,注释详尽,非常有助于初学者入门。 环境要求:项目在iOS SDK6.1和7.0环境下编译通过,其他SDK版本未测试。
数学建模 《Spring_Boot入门初体验》_视频教程_-_示例项目源代码。_SBTest.zip
在创建uni-app项目时,开发者可以选择新建项目或从模板创建,如可以选择hello-uniapp体验官方示例。运行uni-app时,可以在微信开发者工具里运行,需要先配置小程序ide的相关路径,才能运行成功。 总的来说,uni-app...
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
接线2.1如下是Ra-01,Ra-01H,Ra-02对应51测试板的接线:2.2Ra-06自带MCU和LoRa调制程序,可使用另一个MCU的串口通过AT指令来控制它,接线如下图所示:三.烧录(测试程序)3.1示例固件烧录3.2示例固件测试四.AT...
2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接口说明 - 22 - 2.2.1 通用的输入输出接口 - 22 - 2.2.2 串口通讯的接口说明 - 23 - 2.2.3 开关LED的接口说明 - ...
`psample01u0`是一个使用Qt和Peanutlib的入门示例,目的是向开发者展示如何在实际项目中结合这两个库。这个示例可能涵盖了一些基本概念,如创建窗口、添加控件、处理用户交互以及使用Peanutlib提供的功能。通过分析...
使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的...使用jmockit,不要使用jre,要用jdk,否则,可能出现比如java.lang.NoClassDefFoundError: org.junit.runner.Runner
本程序包含了xul程序的基本框架,是初学者入门的不错的选择。下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例的源代码。本示例支持最高...
JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...
Cocoa入门-使用Objective-C助您轻松体验Cocoa开发,不仅是阅读,还有动手实践。介绍完Xcode和Interface Builder之后,您将很快接触到Objective-C的面向对象编程概念,它是创建Mac OS X应用程序的首选语言。每章中都...