html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

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

[ ] 已经帮助:人解决问题

通过NPM安装:uNAHTML5中文学习网 - HTML5先行者学习网

  npm install nodeunit -guNAHTML5中文学习网 - HTML5先行者学习网

  支持命令行,浏览器运行. 各种断言。 在node.js下模块化对于方法导出exports, 如果是对象导出module.exports,模块儿是单元测试的基础,看下面的node.js代码:uNAHTML5中文学习网 - HTML5先行者学习网

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;elsereturn 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代码:uNAHTML5中文学习网 - HTML5先行者学习网

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来调试uNAHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助