我的Node.js學習之路(四)--單元測試
通過NPM安裝:
npm install nodeunit -g
支持命令行,瀏覽器運行. 各種斷言。 在node.js下模塊化對于方法導出exports, 如果是對象導出module.exports,模塊兒是單元測試的基礎(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是一個本地全局變量文件,現(xiàn)在我們對以上代碼使用NodeUnit做測試的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也是通常我們說的斷言。對于NodeUnit的單元測試程序,也可以使用node-inspector來調(diào)試
相關(guān)文章
基于html5和nodejs相結(jié)合實現(xiàn)websocket即使通訊
HTML5 擁有許多引人注目的新特性,如 Canvas、本地存儲、多媒體編程接口、WebSocket 等等。雖然現(xiàn)在大家把它捧的很火的樣子,但是個人認為它還需要其他平臺的支持才能真正的"火起來"2015-11-11Node4-5靜態(tài)資源服務器實戰(zhàn)以及優(yōu)化壓縮文件實例內(nèi)容
這篇文章主要介紹了Node4-5靜態(tài)資源服務器實戰(zhàn)以及優(yōu)化壓縮文件實例內(nèi)容,有需要的朋友們可以參考學習下。2019-08-08npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?
今天新啟動一個項目,在 npm install 安裝依賴項時出現(xiàn)報錯,所以下面這篇文章主要給大家介紹了關(guān)于npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?ok的解決方法,需要的朋友可以參考下2022-07-07基于NodeJS的前后端分離的思考與實踐(六)Nginx + Node.js + Java 的軟件棧部署實踐
關(guān)于前后端分享的思考,我們已經(jīng)有五篇文章闡述思路與設(shè)計。本文介紹淘寶網(wǎng)收藏夾將 Node.js 引入傳統(tǒng)技術(shù)棧的具體實踐。2014-09-09node+axios實現(xiàn)下載外網(wǎng)文件到本地
這篇文章主要為大家介紹了node+axios實現(xiàn)下載外網(wǎng)文件到本地示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06