博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js的UnitTest单元测试
阅读量:5333 次
发布时间:2019-06-15

本文共 1962 字,大约阅读时间需要 6 分钟。

在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTest单元测试. Node.js有built-in的Assert。 今天让我们来看一下Node.js的单元测试。在这儿我们使用,

通过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的单元测试程序,也可以使用来调试。

希望对您软件开发有帮助。您可能感兴趣的文章:

 

作者:
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-。

转载于:https://www.cnblogs.com/wintersun/p/3773684.html

你可能感兴趣的文章
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
Recover Binary Search Tree
查看>>
[转]IOCP--Socket IO模型终结篇
查看>>
各种正则验证
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>
Redis常用命令
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>