jak superagent i nock mogą ze sobą współpracować?
W node.js mam problem z tworzeniem superagentu i nocka razem. Jeśli używam żądania zamiast superagenta, działa idealnie.
Oto prosty przykład, w którym superagent nie zgłasza wyśmiewanych danych:
var agent = require('superagent');
var nock = require('nock');
nock('http://thefabric.com')
.get('/testapi.html')
.reply(200, {yes: 'it works !'});
agent
.get('http://thefabric.com/testapi.html')
.end(function(res){
console.log(res.text);
});
obiekt res nie ma właściwości „text”. Coś poszło nie tak.
Teraz, jeśli zrobię to samo, używając żądania:
var request = require('request');
var nock = require('nock');
nock('http://thefabric.com')
.get('/testapi.html')
.reply(200, {yes: 'it works !'});
request('http://thefabric.com/testapi.html', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
})
Wyśmiewana treść jest wyświetlana poprawnie.
W testach wykorzystaliśmy superagent, więc wolę się go trzymać. Czy ktoś wie, jak to działa?
Bardzo dziękuję, Xavier