我的Node.js學(xué)習(xí)之路(四)--單元測(cè)試
通過(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)文章
基于html5和nodejs相結(jié)合實(shí)現(xiàn)websocket即使通訊
HTML5 擁有許多引人注目的新特性,如 Canvas、本地存儲(chǔ)、多媒體編程接口、WebSocket 等等。雖然現(xiàn)在大家把它捧的很火的樣子,但是個(gè)人認(rèn)為它還需要其他平臺(tái)的支持才能真正的"火起來(lái)"2015-11-11
Node4-5靜態(tài)資源服務(wù)器實(shí)戰(zhàn)以及優(yōu)化壓縮文件實(shí)例內(nèi)容
這篇文章主要介紹了Node4-5靜態(tài)資源服務(wù)器實(shí)戰(zhàn)以及優(yōu)化壓縮文件實(shí)例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。2019-08-08
npm?install安裝報(bào)錯(cuò):gyp?info?it?worked?if?it?ends?with?
今天新啟動(dòng)一個(gè)項(xiàng)目,在 npm install 安裝依賴(lài)項(xiàng)時(shí)出現(xiàn)報(bào)錯(cuò),所以下面這篇文章主要給大家介紹了關(guān)于npm?install安裝報(bào)錯(cuò):gyp?info?it?worked?if?it?ends?with?ok的解決方法,需要的朋友可以參考下2022-07-07
Node.js實(shí)現(xiàn)簡(jiǎn)單管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Node.js實(shí)現(xiàn)簡(jiǎn)單管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
nodejs服務(wù)搭建教程 nodejs訪問(wèn)本地站點(diǎn)文件
這篇文章主要為大家詳細(xì)介紹了nodejs服務(wù)搭建教程,訪問(wèn)本地站點(diǎn)文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
基于NodeJS的前后端分離的思考與實(shí)踐(六)Nginx + Node.js + Java 的軟件棧部署實(shí)踐
關(guān)于前后端分享的思考,我們已經(jīng)有五篇文章闡述思路與設(shè)計(jì)。本文介紹淘寶網(wǎng)收藏夾將 Node.js 引入傳統(tǒng)技術(shù)棧的具體實(shí)踐。2014-09-09
node+axios實(shí)現(xiàn)下載外網(wǎng)文件到本地
這篇文章主要為大家介紹了node+axios實(shí)現(xiàn)下載外網(wǎng)文件到本地示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

