kmock javascript 单元测试代码


Posted in Javascript onFebruary 06, 2011
(function () { 
var KMock = window.KMock = function () { } 
KMock.prototype.setup = function (methodName) { 
var instance = this; 
instance[methodName] = { 
returnAs: function (fn) { 
instance["_" + methodName] = function () { 
instance[methodName].invokeNum++; 
fn.call(); 
} 
}, 
isVerify: function (exceptNum) { 
if (exceptNum != null) { 
return exceptNum == instance[methodName].invokeNum; 
} 
else { 
return instance[methodName].invokeNum > 0; 
} 
}, 
invoke: function () { 
instance["_" + methodName].call(); 
}, 
invokeNum: 0 
}; 
return instance[methodName]; 
} 

})(); 
//自己写了个mock类,暂时是用来模拟函数,然后判断函数的调用次数,以下是用法 
<BR><DIV class=cnblogs_Highlighter><PRE class=brush:javascript>/// <reference path="Flight.js" /> 
/// <reference path="http://demo.3water.com/jslib/qunit/qunit.js" /> 
/// <reference path="KMock.js" /> 

module("enter coin"); 
test("enter coin while game has not yet start", function () { 
var flight = new KFlight(); 
var mock = new KMock(); 
mock.setup("draw").returnAs(function () { 
}); 
flight.draw = mock.draw.invoke; 

equal(flight.coinNum, 0); 
equal(flight.gameState, 0); 
flight.coinEnter(); 
equal(flight.coinNum, 0); 
equal(flight.gameState, 1); 

equal(mock.draw.isVerify(1), true); 
});
Javascript 相关文章推荐
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
js 通用javascript函数库整理
Aug 14 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
js+css3制作时钟特效
Oct 16 Javascript
CSS+jQuery实现简单的折叠菜单
Dec 20 Javascript
javascript变量提升和闭包理解
Mar 12 Javascript
小程序和web画三角形实现解析
Sep 02 Javascript
微信小程序实现图片压缩
Dec 03 Javascript
Vue使用轮询定时发送请求代码
Aug 10 Javascript
angular *Ngif else用法详解
Dec 15 Javascript
一次失败的jQuery优化尝试小结
Feb 06 #Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 #Javascript
基于jQuery的自动完成插件
Feb 03 #Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 #Javascript
javascript event 事件解析
Jan 31 #Javascript
javascript getElementsByTagName
Jan 31 #Javascript
js对象数组按属性快速排序
Jan 31 #Javascript
You might like
destoon找回管理员密码的方法
2014/06/21 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
QQ登录简单实现代码
2021/03/09 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
Python使用gRPC传输协议教程
2018/10/16 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
python字典排序的方法
2019/10/12 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
python sorted函数原理解析及练习
2020/02/10 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
小学教师国培感言
2014/02/08 职场文书
人事科岗位职责范本
2014/03/02 职场文书
药剂专业求职信
2014/06/20 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫