我正在嘗試使用Mocha和Supertest測試API,但沒有幸運地使其正常工作。 我有以下代碼:無法通過Mocha和Supertest進行身份驗證請求
var supertest = require('supertest');
describe('Routing', function() {
var url = 'http://example.com';
var server = supertest.agent(url);
var credentials = {
user: 'username',
pass: 'password'
};
describe('Login', function() {
it('should login ok given valid credentials', function(done) {
server
.post('/login.php')
.send(credentials)
.end(function(err, res) {
if (err) {
throw err;
}
server.saveCookies(res);
done();
});
});
it('should correctly make an authenticated request', function(done){
server
.get('/api/me/accounts?_=1449865354112')
.end(function(err,res) {
if (err) {
throw err;
}
res.status.should.be.equal(200);
done();
});
});
});
});
登錄請求正常工作,我得到驗證。第二個調用會引發401狀態。 我閱讀了文檔,但無法完成工作。
出了什麼問題? 謝謝!
UPDATE: 我終於用.field('user', 'myUsername')
和.field('pass', 'myPassword')
發送PARAMS認證。
此外,我必須堅持不同的電話之間的cookie: cookie = res.headers['set-cookie'];
當我通過身份驗證,和.set('cookie', cookie)
在接下來的請求。
謝謝,但我必須在該代碼中的域名?我仍然無法使它的工作:( – Hernan
我已經添加了我如何使用superagent爲我的單元測試的示例。 – Sachacr
您是否修復了您的問題? – Sachacr