首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Mocha describe块内部导出变量

如何从Mocha describe块内部导出变量
EN

Stack Overflow用户
提问于 2018-04-13 23:44:22
回答 2查看 602关注 0票数 0

我目前正在使用Chakram API测试框架来测试一些REST API端点。

第一个API获取一个CSRF令牌,该令牌在headers中的其余端点中使用。

JSON返回一个CSRF对象,如下所示

代码语言:javascript
复制
{
csrf_token : Aajkndaknsda99/adjaj29adja
}

这就是我现在所做的

代码语言:javascript
复制
    describe('Hits the CSRF API to get the token',()=>{

        let csrf_tok;
                before(()=>{
                 return chakram.wait(response = chakram.get(API_ENDPOINT,headers));
    });

       it('gets the csrf token from the response',()=>{
        return response.then(function(resp){

             csrf_tok = response.body.csrf_token;
             console.log(csrf_tok) //works fine and I can see the value correctly
             exports.csrf = csrf_tok;

       });
     });
    });

在我的另一个文件中,我需要使用CSRF令牌,我这样做

代码语言:javascript
复制
var token = require('../test/csrf_token');
   var options ={
       headers :{
        //other headers
        CSRF-TOKEN : token.csrf;
}
}

但是,这不起作用,并且由于令牌作为undefined传递,其余的API端点测试都会失败。我对token的值进行了硬编码,然后测试开始工作。但是,我不想每次都这样做(我计划将其作为管道的一部分进行部署)。

这个问题似乎是在Mocha的describe上下文之外无法访问该变量。是那么回事吗?如果是这样,我该如何克服它呢?

EN

回答 2

Stack Overflow用户

发布于 2018-04-16 08:12:00

您可以在describe外部声明变量,然后从外部'describe‘中导出它。

关于line我注意到的另一件事是:

代码语言:javascript
复制
csrf_tok = response.body.csrf_token;

它应该是:

代码语言:javascript
复制
csrf_tok = resp.response.body.csrf_token;
票数 0
EN

Stack Overflow用户

发布于 2018-05-03 21:47:29

这并没有回答你的具体问题,但我需要一些类似的东西-我需要获得一个身份验证令牌,然后可以传递给其他测试。我在一个shared.js文件中使用了一个before钩子

代码语言:javascript
复制
before ( function getToken (done) {
  chai.request(host)
  .post(tokenURL)
  .send({my params})
  .end(function(err, response){
     ... getToken expectations
     this.myToken = response.token;
     done();
  });
});

然后,只要您的shared.js文件位于根测试目录中,您就可以在test.js文件中使用'myToken',请参阅https://gist.github.com/icirellik/b9968abcecbb9e88dfb2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49820756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档