小编xa4*_*xa4的帖子

superagent和nock如何一起工作?

在node.js中,我很难让superagent和nock一起工作.如果我使用请求而不是superagent,它可以完美地运行.

以下是superagent无法报告模拟数据的简单示例:

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);
  });
Run Code Online (Sandbox Code Playgroud)

res对象没有'text'属性.有些不对劲.

现在,如果我使用请求做同样的事情:

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)
  }
})
Run Code Online (Sandbox Code Playgroud)

模拟的内容正确显示.

我们在测试中使用了superagent,所以我宁愿坚持下去.有谁知道如何使它工作?

谢谢你,Xavier

javascript request node.js superagent nock

16
推荐指数
1
解决办法
3715
查看次数

标签 统计

javascript ×1

nock ×1

node.js ×1

request ×1

superagent ×1