测试之法 —— mock object
mock object 与真实对象相比,用来构造测试场景。
1. 一个实例
一个闹钟根据时间来进行提醒服务,如果过了下午5点钟就播放音频文件提醒大家下班了,如果我们要利用真实的对象来测试的话就只能苦苦等到下午五点,然后把耳朵放在音箱旁,我们应该利用mock对象 来进行测试,这样我们就可以模拟控制时间了,而不用苦苦等待时钟转到下午5点钟了。
Environmental:抽象类
public abstract class Environmental {private boolean playedWave = false;public abstract long getTime();public void playWavFile(String filename){playedWave = true;}public boolean wasPlayedWave() {return playedWave;}public void resetWave(){playedWave = false;} }
银行实现类:
public class BankEnvironment extends Environmental {public long getTime() {return System.currentTimeMillis();} }
mock 银行对象:
public class MockBankEnvironment extends Environmental {private long currentTime;public long getTime() {return currentTime;}public void setTime(long time) {currentTime = time;} }
测试之法 —— mock object相关推荐
- testing: mock object
- mock object http://www.ibm.com/developerworks/library/j-mocktest.html Mock Object Generate Tool 最开 ...
- 【华为云技术分享】前端快速建⽴Mock App
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站:devui.design Ng组件库:ng-devui(欢 ...
- ASP.NET MVC 單元測試系列 (3):瞭解 Mock 假物件 ( moq )
http://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq.aspx 我們在上一篇已經 ...
- TDD Tip:方法内部New出来的对象如何Mock
解决的问题:方法内部new的对象在测试时希望能够用mock对象去代替. 问题:以下方法可以解决,但是很是丑陋,各位大侠是否有更好的方法? 描述:如果说把内部的方法放到类的一个公开成员变量,或者放到方法 ...
- python测试之道进阶,Pytest-Mock 进阶用法详解
一.什么是 Mock 测试? Mock测试就是在 测试过程 中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是Mock对象.Mock对象就是真实对 ...
- 前端开发学习二——由JSON和Object Literal Notation引起的思考
这篇随笔是今天看公司原来的项目中引用JSON2.js,并调用stringify和parse两个方法在JavaSript Object Literal Notation和JSON之间转换引起的思考. 概 ...
- Mock和Java单元测试中的Mock框架Mockito介绍
什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象.程序员通常创造模拟对象(mock object)来测试其他对象 ...
- android mock测试资源,Android 单元测试 --Mock 及 Mockito
以前我在 Mock 概念 所谓的 Mock 就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象,主要提供两大功能: 验证这个对象的某些方法的调用情况,调用了多少次,参数是什么等等 指定这个 ...
- google mock分享
Content Matcher(匹配器) 基数(Cardinalities) 行为(Actions) 序列(Sequences) Google Mock 入门 概述 Google Mock使用 Moc ...
最新文章
- 数据库更新的时候不能正确的执行找错记录
- 【线上圆桌 - 263】视频会议终端到终端的加密
- linux查询内核参数命令,Linux内核启动参数详解
- 再谈Js定义变量,你不得不踩的那些坑
- css3仿天气风车旋转
- 问题 L: 求一元二次方程的根
- Intellij IDEA安装与使用,完整详细。
- •	服务注册与发现(Eureka、Consul)
- mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
- 【备忘】尚硅谷Scala视频
- 大学计算机课挂科补考,【挂科的同学请注意!】关于本学期补考、缓考的通知(转)...
- 工业企业能耗在线监测系统建设应用及研究
- unity tags的坑
- 小偷和抢劫是被怎么遏制的?
- 从冰雪盛会的幕后赛场,看数字建设者如何保障大型赛事
- 计算机技术电子出版参考文献,参考文献规范
- android 5.0+原生质设计,cardview、Recyclerview、百分比布局PercentRelativeLayout简单使用
- 实现复数类中的运算符重载(含有double类型)
- 我的世界神奇宝贝怎么制作服务器,我的世界神奇宝贝服务器如何调精灵刷新率...
- [CTF]No.0006 [强网杯] Who are you
热门文章
- 数据库减压--php+mysql+memcached模拟nosql
- HTTP请求报文分析
- 启动thriftserver.sh
- oracle 索引-1无效,oracle 索引失效原因及解決方法
- android gridview滑动监听,Android GridView 滑动条设置一直显示状态(推荐)
- oracle数据库王珊,数据库系统概论 王珊 教材部分总结
- python抓取教学_Python Selenium 实战教学:爬取每日天气
- 多线程—— GIL(全局解释器锁)
- 郁闷,IT厂商认证考试没有通过!
- Python数据结构与算法笔记(四):排序问题——列表排序