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); });
kmock javascript 单元测试代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@