• Node.js的UnitTest单元测试


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

    nodejs
    通过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 + "
    " + 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调试

     


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

  • 相关阅读:
    静态库,动态库
    vim
    消息队列-Rabbitmq处理消息及在Spring中的应用
    消息队列 -- 队列(Queue)和主题(Topic)
    Sing的签名算法
    Jquery
    VUE
    node
    vue 加载静态图片
    vue :style 动态绑定style
  • 原文地址:https://www.cnblogs.com/wintersun/p/3773684.html
Copyright © 2020-2023  润新知