我们正在MEAN.io做一个项目,我们使用CSRF令牌授权导航。现在我们决定对项目进行自动化测试,但是在为POST方法运行测试用例时我们遇到了禁止错误,因为CSRF,我们无权从外部访问URL。我们如何通过测试用例传递CSRF令牌。
示例测试用例代码:
describe('POST /signin', function () {
// ...
var session;
var csrfToken;
beforeEach(function (done) {
session.get('/signin')
.end(function (err, res) {
if (err) return done(err);
csrfToken = extractCsrfToken(res);
done();
});
});
it('should accept the result', function (done) {
session
.post('/signin')
.send({
_csrf: csrfToken,
username: 'foo',
password: 'bar'
})
.expect(201)
.end(done)
});
// ...
});