kmock javascript 單元測試代碼
更新時間:2011年02月06日 16:19:15 作者:
javascript其實是非常需要單元測試的,但是qmock總感覺不好使?或是文檔的新舊有問題,反正我暫時是只需要函數(shù)調(diào)用的次數(shù)判斷,結(jié)果就寫了個kmock
復(fù)制代碼 代碼如下:
(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類,暫時是用來模擬函數(shù),然后判斷函數(shù)的調(diào)用次數(shù),以下是用法
<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);
});
您可能感興趣的文章:
- 使用mock.js隨機(jī)數(shù)據(jù)和使用express輸出json接口的實現(xiàn)方法
- vue+mockjs模擬數(shù)據(jù)實現(xiàn)前后端分離開發(fā)的實例代碼
- Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請求的教程
- vue-cli項目中使用Mockjs詳解
- vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例
- Vue+Mock.js模擬登錄和表格的增刪改查功能
- Node.js測試中的Mock文件系統(tǒng)詳解
- express+mockjs實現(xiàn)模擬后臺數(shù)據(jù)發(fā)送功能
- vue+axios+mock.js環(huán)境搭建的方法步驟
- mockjs+vue頁面直接展示數(shù)據(jù)的方法
- mock.js實現(xiàn)模擬生成假數(shù)據(jù)功能示例
相關(guān)文章
js插件dropload上拉下滑加載數(shù)據(jù)實例解析
這篇文章主要為大家詳細(xì)解析了js插件dropload上拉下滑加載數(shù)據(jù)實例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07JavaScript 異步調(diào)用框架 (Part 4 - 鏈?zhǔn)秸{(diào)用)
我們已經(jīng)實現(xiàn)了一個簡單的異步調(diào)用框架,然而還有一些美中不足,那就是順序執(zhí)行的異步函數(shù)需要用嵌套的方式來聲明。2009-08-08JavaScript實現(xiàn)省份城市的三級聯(lián)動
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)省份城市的三級聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02jsvascript圖像處理—(計算機(jī)視覺應(yīng)用)圖像金字塔
上一篇文章,我們講解了邊緣梯度計算函數(shù),這篇文章我們來了解圖像金字塔;圖像金字塔被廣泛用于計算機(jī)視覺應(yīng)用中;圖像金字塔是一個圖像集合,集合中所有的圖像都源于同一個原始圖像,而且是通過對原始圖像連續(xù)降采樣獲得的2013-01-01