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

 更新时间:2014年07月06日 09:59:48   投稿:hebedich   我要评论
在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTest单元测试. Node.js有built-in的Assert。 今天让我们来看一下Node.js的单元测试。在这儿我们使用nodeunit

通过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来调试

相关文章

  • Node.js pipe实现源码解析

    Node.js pipe实现源码解析

    这篇文章主要介绍了Node.js pipe实现源码解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 快速搭建Node.js(Express)用户注册、登录以及授权的方法

    快速搭建Node.js(Express)用户注册、登录以及授权的方法

    这篇文章主要介绍了快速搭建Node.js(Express)用户注册、登录以及授权,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • nodejs更改项目端口号的方法

    nodejs更改项目端口号的方法

    今天小编就为大家分享一篇nodejs更改项目端口号的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • NodeJS实现同步的方法

    NodeJS实现同步的方法

    今天小编就为大家分享一篇关于NodeJS实现同步的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Node.js巧妙实现Web应用代码热更新

    Node.js巧妙实现Web应用代码热更新

    本文给大家讲解的是Node.js的代码热更新的问题,其主要实现原理 是怎么对 module 对象做处理,也就是手工监听文件修改, 然后清楚模块缓存, 重新挂载模块,思路清晰考虑细致, 虽然有点冗余代码,但还是推荐给大家
    2015-10-10
  • Node.js学习之地址解析模块URL的使用详解

    Node.js学习之地址解析模块URL的使用详解

    url模块是nodejs里面的一个简单的模块,下面这篇文章主要给大家介绍了关于Node.js学习之地址解析模块URL使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • 利用node.js写一个爬取知乎妹纸图的小爬虫

    利用node.js写一个爬取知乎妹纸图的小爬虫

    这篇文章主要给大家介绍了利用node.js写一个爬取知乎妹纸图的小爬虫,文中给出了详细的示例代码和介绍,对大家具有一定的参考学习价值,需要的朋友可以参考学习,下面来一起看看吧。
    2017-05-05
  • 利用nodeJs anywhere搭建本地服务器环境的方法

    利用nodeJs anywhere搭建本地服务器环境的方法

    今天小编就为大家分享一篇利用nodeJs anywhere搭建本地服务器环境的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Node.js连接postgreSQL并进行数据操作

    Node.js连接postgreSQL并进行数据操作

    自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型金沙国际官网的首选。这篇文章就给大家介绍了关于Node.js如何连接postgreSQL金沙国际官网,并进行数据操作的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • node.js中使用socket.io制作命名空间

    node.js中使用socket.io制作命名空间

    这篇文章主要介绍了node中使用socket.io制作命名空间,需要的朋友可以参考下
    2014-12-12

最新评论