如何在Mocha中使用全局变量?

时间:2018-10-13 13:35:17

标签: node.js mocha

我想测试RESTful API。但是我必须先登录并获得令牌。我可以使用全局变量来保存令牌吗?我尝试在“ before()”中获取令牌,但令牌似乎未存储在全局变量中。

var APIToken // my global ariable
beforeEach((done) => {
console.log("get token before each describe")
api.post('/login')
    .set('Accept', 'application/json')
    .send({
    account: 'T10701',
    password: 'J9453'
    })
    .end((err, res) => {
    APItoken = res.body.token;  
    console.log(APItoken)
    done()
    });

});

describe('User /current', () => {
  // global variable APItoken is empty in here.

it('without login,can not get info', (done) => {
  api.get('/current') 
    .expect(401)
    .end((err, res) => {
      if (err) {
        return done(err)
      }

      done();
    });
});

it('is login',(done)=>{
    api.get('/current') 
        .set('Authorization', 'Bearer '+ APItoken) // set token to header
        .expect(200)
        .end((err, res)=>{
            if(err) return done(err)
            done()
        })


})

});

0 个答案:

没有答案