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 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
bootstrap改变按钮加载状态
Dec 01 Javascript
Position属性之relative用法
Dec 14 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
Jun 02 Javascript
AngularJs directive详解及示例代码
Sep 01 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
基于js实现的图片拖拽排序源码实例
Nov 04 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
Zend studio文件注释模板设置方法
2013/09/29 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Python爬虫开发与项目实战
2020/12/16 Python
python基于openpyxl生成excel文件
2020/12/23 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
学生的自我鉴定范文
2013/10/24 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
单位实习证明怎么写
2014/01/17 职场文书
加工操作管理制度
2014/01/19 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
银行授权委托书样本
2014/10/13 职场文书
社区活动总结
2015/02/04 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
Python集合的基础操作
2021/11/01 Python