【发布时间】:2018-08-14 04:52:26
【问题描述】:
目前我正在使用 SuperTest 来测试一个 API,并且对于每个请求我需要从管理员用户那里获取访问令牌,所以我创建了这个请求(工作正常):
authenticate.js
const request = require('supertest');
var storeAccessToken;
describe ('POST /Authenticate', function() {
it ('Should return access token', function(done) {
request('http://myendpoint.com')
.post('/TokenAuth/Authenticate')
.send({
"username": "admin",
"password": "admin"})
.end(function(err, res) {
if (err) return done(err);
storeAccessToken = res.body.result.accessToken;
done();
});
});
});
现在我存储了 访问令牌(变量 storeAccessToken),我需要在另一个的 before() 中调用相同的代码文件。
getKpiRequest.js
const request = require('supertest');
var storeAccessToken;
describe ('GET /Kpi/Availables', function() {
before(function (done){
request('http://myendpoint.com')
.post('/TokenAuth/Authenticate')
.send({
"username": "admin",
"password": "admin"})
.end(function(err, res) {
if (err) return done(err);
storeAccessToken = res.body.result.accessToken;
assert.equal(res.status, 200);
done();
});
});
});
如何避免重复getKpiRequest.js文件中的代码?
【问题讨论】:
标签: javascript mocha.js supertest