use*_*306 10 javascript session mocha.js node.js supertest
我用supertest测试我的Node.js应用程序.在我的控制器中,我访问会话对象.为了生成有效请求,此会话对象需要填充一些数据.
调节器
// determine whether it is user's own profile or not
var ownProfile = userId == req.session.user._id ? true : false;
Run Code Online (Sandbox Code Playgroud)
测试
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);
})
});
Run Code Online (Sandbox Code Playgroud)
题
如何模拟req/session对象?
小智 9
只需使用子应用程序,并在parent-app上调用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);
Run Code Online (Sandbox Code Playgroud)
您的所有路线都会在匹配前进行身份验证!
| 归档时间: |
|
| 查看次数: |
5459 次 |
| 最近记录: |