首页 > web前端 > js教程 > kmock javascript 单元测试代码_javascript技巧

kmock javascript 单元测试代码_javascript技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-05-16 18:10:59
原创
1234 人浏览过
复制代码 代码如下:

(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类,暂时是用来模拟函数,然后判断函数的调用次数,以下是用法

/// <reference path="Flight.js"></reference> <br>/// <reference path="http://demo.jb51.net/jslib/qunit/qunit.js"></reference> <br>/// <reference path="KMock.js"></reference> <br><br><br>module("enter coin"); <br><br>test("enter coin while game has not yet start", function () { <br>var flight = new KFlight(); <br><br>var mock = new KMock(); <br>mock.setup("draw").returnAs(function () { <br>}); <br><br>flight.draw = mock.draw.invoke; <br><br><br>equal(flight.coinNum, 0); <br>equal(flight.gameState, 0); <br>flight.coinEnter(); <br>equal(flight.coinNum, 0); <br>equal(flight.gameState, 1); <br><br><br>equal(mock.draw.isVerify(1), true); <br><br>});<br>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板