栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Express中间件测试Mocha Chai

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Express中间件测试Mocha Chai

这里有一个简单的设置,你可以使用,使用

chai
sinon

var expect = require('chai').expect;var sinon  = require('sinon');var middleware = function logMatchingUrls(pattern) {    return function (req, res, next) {        if (pattern.test(req.url)) { console.log('request url', req.url); req.didSomething = true;        }        next();    }}describe('my middleware', function() {  describe('request handler creation', function() {    var mw;    beforeEach(function() {      mw = middleware(/./);    });    it('should return a function()', function() {      expect(mw).to.be.a.Function;    });    it('should accept three arguments', function() {      expect(mw.length).to.equal(3);    });  });  describe('request handler calling', function() {    it('should call next() once', function() {      var mw      = middleware(/./);      var nextSpy = sinon.spy();      mw({}, {}, nextSpy);      expect(nextSpy.calledOnce).to.be.true;    });  });  describe('pattern testing', function() {    ...  });});

从那里,您可以为模式匹配等添加更多详细的测试。由于仅使用

req.url
,因此不必模拟整个
Request
对象(由Express创建),而只需使用带有
url
属性的简单对象。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号