亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試解決方案 > 開源測試工具組合
通過Qunit對Javascript代碼進行單元測試
作者:網絡轉載 發布時間:[ 2013/12/11 9:12:44 ] 推薦標簽:

  在現在的軟件開發中,單元測試已經變得越來越重要了.相比程序員與測試QA的手工測試,單元測試可以在項目每次build的時候集成運行,來為程序員提供Regression Test的反饋.這在敏捷開發中為程序員提供了很重要的支持,可以很容易的進行重構. 現在的主流編程語言都有很好的對單元測試的支持, 關于JUnit和NUnit的文章也已經有很多了. 在這里,我們介紹一下如何使用QUnit對Javascript腳本進行單元測試.
  在這里我們使用一個簡單的撲克的例子. 首先,我們用Javascript寫一個簡單的撲克牌類:
var Card = function(opts) {
var C = {};
C._normalizeArg = function(arg) {
if (_.isString(arg)) {
arg = arg.replace(/s+/g,'').split(",");
}
if (!_.isArray(arg)) {
arg = [arg];
}
return arg;
};
C.extend = function(obj) {
_(C).extend(obj);
return C;
};
C.CardKind = {
"Spade" : "spade",
"Heart" : "heart",
"Diamond" : "diamond",
"Club" : "club",
"Special" : "special"
};
C.CardNum = {
"Ace" : 1,
"Two" : 2,
"Three" : 3,
"Four" : 4,
"Five" : 5,
"Six" : 6,
"Seven" : 7,
"Eight" : 8,
"Nine" : 9,
"Ten" : 10,
"Jack" : 11,
"Queen" : 12,
"King" : 13,
"JokerS" : 14,
"Joker" : 15
};
C.Card = Class.extend({
init : function(kind, num) {
this.kind = kind;
this.num = num;
},
name : function() {
return this.kind + this.num;
},
isComparable : function(card) {
return this.kind == card.kind;
},
compareTo : function (card) {
if (this.isComparable(card)) {
return this.num - card.num;
}
}
});
C.Deck = Class.extend({
init : function(numOfDecks, includeJokers, jokersAreDifferent, cards) {
this.numOfDecks = numOfDecks == undefined ? 1 : numOfDecks;
this.includeJokers = includeJokers == undefined ? false : includeJokers;
this.jokersAreDifferent = jokersAreDifferent == undefined ? false : jokersAreDifferent;
this.cards = [];
this.setup(cards);
},
setup : function(cards) {
if (cards == undefined) {
var kinds = _.filter(C.CardKind, function(kind) {return kind != C.CardKind.Special; });
var nums = _.filter(C.CardNum, function(num) {return num <= C.CardNum.King; });
for (var i = 1; i <= this.numOfDecks; i++) {
for (var kind in kinds) {
for (var num in nums) {
this.cards.push(new C.Card(kinds[kind], nums[num]));
}
}
if (this.includeJokers) {
if (this.jokersAreDifferent) {
this.cards.push(new C.Card(C.CardKind.Special, C.CardNum.JokerS));
this.cards.push(new C.Card(C.CardKind.Special, C.CardNum.Joker));
} else {
this.cards.push(new C.Card(C.CardKind.Special, C.CardNum.Joker));
this.cards.push(new C.Card(C.CardKind.Special, C.CardNum.Joker));
}
}
}
}

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 小明永久播放平台领域2015 | 亚洲精品日本高清中文字幕 | 99视频精品全部 在线 | 五月婷综合| 欧美太黄太色视频在线观看 | 在线欧美a| 欧美精品综合 | 国产自产视频 | a毛片免费全部播放毛 | 欧美日韩国产免费一区二区三区 | 成人国产精品一级毛片视频 | 青青青视频免费一区二区 | 伊人久久大杳蕉综合大象 | xxxx日本xx| 日韩一区二区在线观看 | 欧美午夜理伦三级理论三级 | 午夜精品在线视频 | 有码视频在线观看 | 五月综合视频 | 亚洲日本va中文字幕区 | 手机看片国产欧美日韩高清 | 中文字幕美日韩在线高清 | 色偷偷人人澡久久天天 | 精选国产门事件福利在线观看 | 亚洲一区二区三区欧美 | 亚洲欧洲精品国产区 | 500福利国产精品导航在线 | 婷婷 综合网站 | 最近免费字幕中文大全在线观看 | 亚洲成a人片在线播放观看国产 | 欧美专区亚洲专区 | 色偷偷人人澡人人爽人人模 | 青青免费在线视频 | 天天干天天澡 | 制服丝袜怡红院 | 99久久999久久久综合精品涩 | 一级成人a免费视频 | 又黄又爽又色又刺激的视频 | 亚洲欧美日韩国产专区一区 | f性欧美 | 亚洲天堂成人在线观看 |