我正在尝试使用supertest开发测试。问题是我的服务器中的所有路由都需要基本授权。在每个请求上使用postman时,我将登录名和密码放入授权选项卡,然后选择Basic Auth。
describe('correct login and password inserted', () => {
it('should pass validation', done => {
request(app)
.get('/api/roles')
.send({ username: 'user1', password: '1234' })
.expect(200)
.end((err, res) => {
if (err) {
return done.fail(err);
}
const roles = res.body;
console.log(roles);
expect(roles.data._id).toEqual(newRole._id);
expect(roles.data.name).toEqual('role_create');
expect(roles.data.prdPermissionsBitMask).toEqual(4);
expect(roles.data.userPermissionsBitMask).toEqual(4);
done();
})
});
});
这应该返回角色列表,但是在未经授权的情况下失败。任何人都可以帮助我开展这项测试。
const request = require('supertest')
答案 0 :(得分:0)
您应该使用built in auth
method that comes with SuperTest through SuperAgent。
gulp-template