mock object

简介:

  android参考手册中的测试部分提到,android Junit扩展为android提供了组件特定的(component-specific)测试用例类,能帮助生成mock object和方法. 
    从网上查了下,mock object是模拟对象.测试其他对象时,需要用到相关的某个对象,但这个对象不方便实现,甚至没有实现,这个时候就模拟需要用到的对象,以便我们能进行正常的测试.
    mock object类似于先前在学校时了解到的桩程序(不过桩程序一般都是一小段代码,不一定能虚拟出一个对象来着.这也说明mock object使其比桩程序还复杂一些). 
    从网上对mock object的描述上来分析,mock object更多的用于以写程序的方式来测试的场景,这样的话,mock object就主要用于单元测试,自动化和性能测试上了. 
    另外,由于mock object是模拟出来一个对象的,因此mock object比较适用于支持面向对象的程序中.面向函数或者过程的程序,不大适用mock object,但是桩代码可以用哦. 
    最后,我在维基上找到了mock object的信息,先摘抄下来补充的笔记的结尾处.(呵呵,看样子维基百科还不错.) 
    ----------------------------------------------------------------------- 
    在单元测试中,模拟对象可以模拟复杂的、真实的(非模拟)对象的行为, 如果真实的对象无法放入单元测试中,使用模拟对象就很有帮助。 
    在下面的情形,可能需要使用模拟对象来代替真实对象[1]:

    真实对象的行为是不确定的(例如,当前的时间或当前的温度); 
    真实对象很难搭建起来; 
    真实对象的行为很难触发(例如,网络错误); 
    真实对象速度很慢(例如,一个完整的数据库,在测试之前可能需要初始化); 
    真实的对象是用户界面,或包括用户界面在内; 
    真实的对象使用了回调机制; 
    真实对象可能还不存在; 
    真实对象可能包含不能用作测试(而不是为实际工作)的信息和方法。



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/08/10/2134265.html,如需转载请自行联系原作者

目录
相关文章
|
存储 前端开发 JavaScript
十二款·富文本编辑器:数字创作的瑞士军刀
在数字化时代,内容创作已经成为我们日常生活中不可或缺的一部分。无论是撰写一封电子邮件、准备一份报告、还是在社交媒体上分享心情,文字都是我们表达和沟通的基石。而在这个过程中,富文本编辑器就如同一把瑞士军刀,为我们提供了多种功能以增强和美化我们的文字内容。
898 1
|
数据采集 Web App开发 存储
基于Python的51job(前程无忧)招聘网站数据采集,通过selenium绕过网站反爬,可以采集全国各地数十万条招聘信息
本文介绍了一个使用Python和Selenium库实现的51job(前程无忧)招聘网站数据采集工具,该工具能够绕过网站的反爬机制,自动化登录、搜索并采集全国各地的招聘信息,将数据保存至CSV文件中。
522 1
|
机器学习/深度学习 文字识别 算法
|
11月前
|
移动开发 C语言
C语言:&&和&、||和|有什么区别
在C语言中,&&和||是逻辑运算符,分别表示逻辑与(AND)和逻辑或(OR),它们用于连接两个布尔表达式,只有当两边都为真时&&返回真,||在至少一边为真时返回真;&和|是位运算符,对应地进行位级的与、或操作,它们对操作数的二进制位进行逐位处理。&&和||具有短路特性,而&和|没有。
11327 1
|
存储 安全 数据中心
交换机和集线器有什么区别?
【8月更文挑战第4天】
6972 12
|
Web App开发 存储 Oracle
PostgreSQL Oracle 兼容性之 - DBMS_OUTPUT.PUT_LINE
标签 PostgreSQL , Oracle , DBMS_OUTPUT.PUT_LINE , raise , notice 背景 在函数、存储过程中需要进行一些debug,输出一些过程变量的值时,PG中使用raise notice可以非常方便的得到。
2825 0
|
Linux 开发工具 数据安全/隐私保护
Linux操作系统下开启wifi热点的方法
在很多场合下,网络使用是非常重要的,如果有一个Linux可以发出wifi热点,那么很多时候可以对于开发者来说是非常方便的。
1431 1
|
人工智能 达摩院 大数据
商标智能检索识别 AI推荐商标分类
智能检索识别近似商标,提升商标注册成功率
商标智能检索识别 AI推荐商标分类
|
移动开发 安全 数据安全/隐私保护
多端可接入,实现随时随地登录无影云桌面
多端可接入,实现随时随地登录无影云桌面
2683 0
|
机器人 数据管理 数据库管理
阿里云DMS数据管理控制台通过钉钉机器人方式发送通知
本文简明介绍如何使用阿里云DMS数据管理控制台通过配置钉钉机器人方式发送通知。
1103 0
阿里云DMS数据管理控制台通过钉钉机器人方式发送通知