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可以模拟类的构造器,控制...
PHP入门示例代码,带文字笔记说明,让你以最快的速度掌握PHP开发基本技巧,导入Eclipse,方便查找与使用。
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
3. **示例**:可能提供一些示例项目或测试用例,演示如何使用JMockit进行单元测试。 4. **许可证文件**:关于软件授权的信息,规定了使用和分发JMockit的条款。 为了使用JMockit,你需要将"jmockit-1.6.jar"添加到...
大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263
数学建模 《Spring_Boot入门初体验》_视频教程_-_示例项目源代码。_SBTest.zip
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 ...spring-boot-admin-simple:Spring Boot Admin 的使用示例
RxJava 1.x, 直接学习 RxJava 2.x一套完整的操作符清单支持与 Retrofit 交互处理示例Activity 基类封装处理文章链接这可能是最好的 RxJava 2.x 入门教程(完结版)这可能是最好的 RxJava 2.x 入门教程(一)这可能是...
在创建uni-app项目时,开发者可以选择新建项目或从模板创建,如可以选择hello-uniapp体验官方示例。运行uni-app时,可以在微信开发者工具里运行,需要先配置小程序ide的相关路径,才能运行成功。 总的来说,uni-app...
接线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的接口说明 - ...
这个“jmockit使用例子”很可能会涵盖如何利用JMockit进行测试的基本步骤,以及如何改变静态方法的模拟实现。 在Java开发中,单元测试是确保代码质量的重要环节。然而,当涉及到依赖于外部系统、静态方法或不可控...
JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...
C# Socket通信项目:从入门到精通,轻松处理多线程与事件,实时管理设备状态,附文档与示例——适用于Visual Studio 2017及以上版本,Socket通信C#项目,完整的服务端和客户端,让您绕过最难写的Socket管理,是困难的...