2013-05-17 39 views
1

req.session.username = user.username;請求和res對象是否可以在NodeExpress中全局訪問?

我正在使用supertest來測試路由處理。在我的日誌中處理的代碼,我的如果用戶登錄成功之後 -

req.session.username = user.username; 

但在supertest回撥功能我用不上的REQ對象。

request(app) 
      .post('/login') 
      .send({username: 'dummy_username', password: 'valid_password'}) 
      .end(function(err, res){ 
      if (err) { return done(err); } 
      expect(err).toBe(null); 
      expect(res.status).toEqual(200); 
      done(); 
      }); 

我想的東西添加像expect(req.session.username).toBe('dummy_username')但顯然我我能做到這一點並不時REQ不提供給我。那麼是否有引用req對象的方法?

回答

1

Supertest僅用於測試響應,因爲測試請求(及其服務器端操作)將測試實現細節而不是行爲。 supertest不是這份工作的正確工具。您可以爲您的某些服務器端功能編寫純粹的單元測試,或者您可以讓路由在響應主體中包含用戶信息(這是典型的),並且超級用戶驗證信息是否與請求中的信息相匹配。

相關問題