NodeJS超级访问会话对象

我用supertesttesting我的Node.js应用程序。 在我的控制器中,我访问会话对象。 为了提出有效的请求,这个会话对象需要填充一些数据。

调节器

// determine whether it is user's own profile or not var ownProfile = userId == req.session.user._id ? true : false; 

testing

 it('profile', function (done) { testUserOne.save(function(error, user){ request .agent(server) .get('/profile?userId=' + user._id) .expect('Content-Type', /html/) .expect(200) .expect(/Profile/) .end(done); }) }); 

我怎样才能嘲笑的REQ /会议对象?

这个新的lib应该做的伎俩:

你也可以看看supertest的 superagent 。 这里有一个很好的教程:

不想要另一个库? 试试这个…

只是作为子应用程序使用,并在父应用程序中调用您的authenticated():

 var mockApp = express(); mockApp.use(session); mockApp.all('*', function(req, res, next) { //authenticated(req, res, next); //OR req.session.uid = 'mock uid'; next(); }); mockApp.use(app); 

所有的路线将在匹配之前进行authentication!