最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在请求设置会话节点JS单元测试

IT培训 admin 6浏览 0评论

在请求设置会话节点JS单元测试

我有一个路线.route(myapp/profile) .get(myProfileMiddleware.checkAccessToken(), myProfileController.getProfile )

这里中间件方法

访问检查令牌

检查会话令牌是否被设置如下。

checkAccessToken() { 
return (req, rex, next) => {      
  if (!req.session || !req.session.accessToken) {
   // throws 403 Forbidden error
  }
  // Executes next() method      
}}

如果访问标记存在的路线执行相应的控制器的方法myProfileController.getProfile,否则抛出403禁止错误。

我需要编写该路由的单元测试。我使用的摩卡,薛宝钗,兴农和supertest。我试图在请求方法会话变量使用“表达会话”来设置,如下

app.use(session({accessToken: 'ssshhhhh'}));

也试过设置(“饼干”,[“访问令牌= SSH”],但没有工作。会话令牌是没有得到设置和路线显示qazxsw POI错误

任何人可以对此有一个工作的解决方案?提前致谢。

我使用下面的版本:

节点:8.7,柴:^ 4.1.0,摩卡:^ 5.0.4,节点嘲笑-HTTP:^ 1.6.6,兴农:^ 2.3.2 supertest:^ 3.0.0

回答如下:

我不知道如果我完全理解你的问题,但是当我使用403 Forbidden我设置会话当我在测试文件创建mockedRequest。

node-mocks-http

然后,使实际的路由处理程序设置会话属性。

const mockRequest = httpMocks.createRequest({ session: { … } }); 约the docs并注意.createRequest()选项。

在请求设置会话节点JS单元测试

我有一个路线.route(myapp/profile) .get(myProfileMiddleware.checkAccessToken(), myProfileController.getProfile )

这里中间件方法

访问检查令牌

检查会话令牌是否被设置如下。

checkAccessToken() { 
return (req, rex, next) => {      
  if (!req.session || !req.session.accessToken) {
   // throws 403 Forbidden error
  }
  // Executes next() method      
}}

如果访问标记存在的路线执行相应的控制器的方法myProfileController.getProfile,否则抛出403禁止错误。

我需要编写该路由的单元测试。我使用的摩卡,薛宝钗,兴农和supertest。我试图在请求方法会话变量使用“表达会话”来设置,如下

app.use(session({accessToken: 'ssshhhhh'}));

也试过设置(“饼干”,[“访问令牌= SSH”],但没有工作。会话令牌是没有得到设置和路线显示qazxsw POI错误

任何人可以对此有一个工作的解决方案?提前致谢。

我使用下面的版本:

节点:8.7,柴:^ 4.1.0,摩卡:^ 5.0.4,节点嘲笑-HTTP:^ 1.6.6,兴农:^ 2.3.2 supertest:^ 3.0.0

回答如下:

我不知道如果我完全理解你的问题,但是当我使用403 Forbidden我设置会话当我在测试文件创建mockedRequest。

node-mocks-http

然后,使实际的路由处理程序设置会话属性。

const mockRequest = httpMocks.createRequest({ session: { … } }); 约the docs并注意.createRequest()选项。

发布评论

评论列表 (0)

  1. 暂无评论