2014-10-14 5 views
0

연결 스텁?내가 미들웨어 (커피 스크립트)가 미들웨어

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' 

하는 오류 때문에 내 응용 프로그램의 직접 확인할 수 있습니다 의존성을 밤은 연결을 (특급 요구)

답변

1

스텁하려는 메소드를 내보내는 모듈을 직접 만들 수 있습니다.

# stub.coffee 
express = require 'express' 

# export basicAuth as a stub-friendly export 
module.exports.basicAuth = express.basicAuth 

표현하는 대신 또는 추가로 표현해야합니다.

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')