我想测试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()
})
})
});