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 相关文章推荐
use jscript with List Proxy Server Information
Jun 11 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
Jul 26 Javascript
js 单击式的下拉菜单效果实例
Aug 13 Javascript
javascript简单事件处理和with用法介绍
Sep 16 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
jQuery插件制作之全局函数用法实例
Jun 01 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
Aug 21 Javascript
基于bootstrop常用类总结(推荐)
Sep 11 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 Javascript
Angular 实现输入框中显示文章标签的实例代码
Nov 07 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
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
对python中return和print的一些理解
2017/08/18 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python之指数与E记法的区别详解
2019/11/21 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
大码女装:Ulla Popken
2019/08/06 全球购物
教师岗位职责
2013/11/17 职场文书
新领导上任欢迎词
2014/01/13 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
安阳殷墟导游词
2015/02/10 职场文书
学术会议通知范文
2015/04/15 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
Redis 哨兵集群的实现
2021/06/18 Redis
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS