kmock javascript 单元测试代码

javascript其实是非常需要单元测试的,但是qmock总感觉不好使?或是文档的新旧有问题,反正我暂时是只需要函数调…

javascript其实是非常需要单元测试的,但是qmock总感觉不好使?或是文档的新旧有问题,反正我暂时是只需要函数调用的次数判断,结果就写了个kmock

复制代码 代码如下:

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

/// 
    
///
///


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);

});

以上就是kmock javascript 单元测试代码的详细内容,更多请关注www.cfluntan.cn其它相关文章!

为您推荐

返回顶部