通过NPM安装:
npm install nodeunit -g
支持命令行,浏览器运行. 各种断言。 在node.js下模块化对于方法导出exports, 如果是对象导出module.exports,模块儿是单元测试的基础,看下面的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是一个本地全局变量文件,现在我们对以上代码使用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来调试
本文地址:https://www.stayed.cn/item/24566
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我