Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 一个单元测试路由与Express?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习Node.js的过程中,一直在使用 Express.真的很喜欢的框架;但是,我无法弄清楚如何写一个单位/集成测试的路线。

能够单元测试简单的模块很容易,并一直在做与Mocha;然而,我的单元测试与Express失败,因为我传入的响应对象不保留值。

测试中的路由功能(routes / index.js):

exports.index = function(req,res){
  res.render('index',{ title: 'Express' })
};

单元测试模块:

var should = require("should"),routes = require("../routes");

var request = {};
var response = {
    viewName: "",data : {},render: function(view,viewData) {
        viewName = view;
        data = viewData;
    }
};

describe("RoutIng",function(){
    describe("Default Route",function(){
        it("should provide the a title and the index view name",function(){
        routes.index(request,responsE);
        response.viewName.should.equal("index");
        });

    });
});

当我运行这个,它失败“错误:检测到全局泄漏:viewName,数据”。

>我在哪里出错,以便我可以得到这个工作
>有没有更好的方式让我在这个级别单元测试我的代码

更新
 1.自从我最初忘记“it()”以来更正的代码段。

解决方法

更改响应对象:

var response = {
    viewName: "",viewData) {
        this.viewName = view;
        this.data = viewData;
    }
};

它会工作。

大佬总结

以上是大佬教程为你收集整理的node.js – 一个单元测试路由与Express?全部内容,希望文章能够帮你解决node.js – 一个单元测试路由与Express?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。