kmock javascript 单元测试代码_Javascript教程-查字典教程网
kmock javascript 单元测试代码
kmock javascript 单元测试代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:(function(){varKMock=window.KMock=function(){}KMock.prototype...

复制代码 代码如下:

(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.jb51.net/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教程学习
    编程开发子分类