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 URL参数读取改进版
Jan 16 Javascript
JS 面向对象的5钟写法
Jul 31 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
Jul 27 Javascript
详解Javascript继承的实现
Mar 25 Javascript
轻松实现js弹框显示选项
Sep 13 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
vue2.0 实现页面导航提示引导的方法
Mar 13 Javascript
小程序实现列表多个批量倒计时
Jan 29 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
如何使用vue3打造一个物料库
May 08 Vue.js
一次失败的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 常用字符串函数总结
2008/03/15 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
php记录日志的实现代码
2011/08/08 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
jquery 可排列的表实现代码
2009/11/13 Javascript
详解JS函数重载
2014/12/04 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python实现删除文件与目录的方法
2014/11/10 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
Python实现登陆文件验证方法
2018/10/06 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
Python处理PDF与CDF实例
2020/02/26 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
视图的作用
2014/12/19 面试题
会计学应届毕业生推荐信
2013/11/04 职场文书
置业顾问岗位职责
2014/03/02 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
党员十八大心得体会
2014/09/12 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
python 远程执行命令的详细代码
2022/02/15 Python