欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

我的Node.js學(xué)習(xí)之路(四)--單元測(cè)試

 更新時(shí)間:2014年07月06日 09:59:48   投稿:hebedich  
在專業(yè)化的軟件開(kāi)發(fā)過(guò)程中,無(wú)論什么平臺(tái)語(yǔ)言,現(xiàn)在都需要UnitTest單元測(cè)試. Node.js有built-in的Assert。 今天讓我們來(lái)看一下Node.js的單元測(cè)試。在這兒我們使用nodeunit

通過(guò)NPM安裝:

  npm install nodeunit -g

  支持命令行,瀏覽器運(yùn)行. 各種斷言。 在node.js下模塊化對(duì)于方法導(dǎo)出exports, 如果是對(duì)象導(dǎo)出module.exports,模塊兒是單元測(cè)試的基礎(chǔ),看下面的node.js代碼:

var fs = require('fs'),
global=require('./global.js');
var utils = {
startWith: function(s1, s) {
if (s == null || s == "" || this.length == 0 || s.length > this.length)
return false;
if (s1.substr(0, s.length) == s)
return true;
else
return false;
return true;
},
/* Generate GUID */
getGuid: function() {
var guid = "";
for (var i = 1; i <= 32; i++) {
var n = Math.floor(Math.random() * 16.0).toString(16);
guid += n;
}
return guid;
},
/* add log information */
writeLog: function(log) {
if(!log) return;
var text = fs.readFileSync(global.logFile, "utf-8"),
_newLog = text ? (text + "\r\n" + log) : log;
fs.writeFile(global.logFile, _newLog, function(err){
if(err) throw err;
});
}
};
exports.utils=utils;

./global.js是一個(gè)本地全局變量文件,現(xiàn)在我們對(duì)以上代碼使用NodeUnit做測(cè)試的node.js代碼:

var utils=new require('./utils.js');
this.TestForUtils = {
'TestgetGuid': function (test) {
var guid=utils.utils.getGuid();
test.ok(!!guid, 'getGuid should not be null.');
test.done();
},
'TestWritelog': function (test) {
var flag=false;
utils.utils.writeLog("test message");
flag=true;
test.ok(flag,'writeLog');
test.done();
},
'TestStartWithWords': function (test) {
var name="ad_123";
test.ok(utils.utils.startWith(name, "ad_"),"startwith method should be ok");
test.done();
}
};

test.ok也是通常我們說(shuō)的斷言。對(duì)于NodeUnit的單元測(cè)試程序,也可以使用node-inspector來(lái)調(diào)試

相關(guān)文章

最新評(píng)論