我的Node.js学习之路(四)--单元测试

前端技术 2023/09/09 JavaScript

通过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

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。