Javascript 存根连接中间件
我有一个中间件(coffeescript): 如何存根basicAuth函数以控制流量 我试过:Javascript 存根连接中间件,javascript,express,connect,sinon,Javascript,Express,Connect,Sinon,我有一个中间件(coffeescript): 如何存根basicAuth函数以控制流量 我试过: express = require 'express' sinon.stub express, 'basicAuth' 和获取错误: TypeError: Cannot set property basicAuth of function createApplication() { var app = connect(); utils.merge(app, proto); app.r
express = require 'express'
sinon.stub express, 'basicAuth'
和获取错误:
TypeError: Cannot set property basicAuth of function createApplication() {
var app = connect();
utils.merge(app, proto);
app.request = { __proto__: req };
app.response = { __proto__: res };
app.init();
return app;
} which has only a getter
我也尝试过:
connect = require 'connect'
sinon.stub connect, 'basicAuth'
哪些错误是因为connect不是my app的直接可用依赖项(express需要它)您可以创建自己的模块,该模块将导出您希望存根的方法
# stub.coffee
express = require 'express'
# export basicAuth as a stub-friendly export
module.exports.basicAuth = express.basicAuth
您可能需要这个,而不是express
stubpress = require 'stubbableExpress'
basic = (req, res, next) ->
return next() if not app.settings.auth?
stubpress.basicAuth(app.settings.auth.username, app.settings.auth.password) req, res, next
这给了你一些你能理解的东西:
stubpress = require 'stubbableExpress'
sinon.stub(stubpress, 'basicAuth')
stubpress = require 'stubbableExpress'
sinon.stub(stubpress, 'basicAuth')