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

questionAnswers(1)

yourAnswerToTheQuestion