Node.js nodejs获取xml时不返回任何内容

Node.js nodejs获取xml时不返回任何内容,node.js,mocha.js,Node.js,Mocha.js,我正在尝试下载一个xml文件,以便在nodejs中解析它。这是我通过mocha构建的测试,测试通过了,但控制台上没有显示任何内容。我做错了什么 it('Get XML data', function() { var options = { hostname: 'stona-app01.us.work.net', port: 1213, path: '/solrLive/STONA-STOUS-product-search-idx-en_US/select/?v

我正在尝试下载一个xml文件,以便在nodejs中解析它。这是我通过mocha构建的测试,测试通过了,但控制台上没有显示任何内容。我做错了什么

it('Get XML data', function() {
var options = {
      hostname: 'stona-app01.us.work.net',
      port: 1213,
      path: '/solrLive/STONA-STOUS-product-search-idx-en_US/select/?version=2.2&start=2&rows=2&qf=SKU&fl=*&indent=on&onlineFlag=1',
      method: 'POST'
    };

    var req = http.request(options, function(res) {
      console.log('STATUS: ' + res.statusCode);
      console.log('HEADERS: ' + JSON.stringify(res.headers));
      res.setEncoding('utf8');
      res.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
      });
    });

    req.on('error', function(e) {
      console.log('problem with request: ' + e.message);
    });
});

代码中的URL不可访问,因此您将无法对其进行测试。

您的测试是异步的,因此您必须定义测试以获取一个done参数,并在测试完成时调用它:

it('Get XML data', function (done) {
   var options = {
      hostname: 'stona-app01.us.work.net',
      port: 1213,
      path: '/solrLive/STONA-STOUS-product-search-idx-en_US/select/?version=2.2&start=2&rows=2&qf=SKU&fl=*&indent=on&onlineFlag=1',
      method: 'POST'
    };

    var req = http.request(options, function(res) {
      console.log('STATUS: ' + res.statusCode);
      console.log('HEADERS: ' + JSON.stringify(res.headers));
      res.setEncoding('utf8');
      res.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
        done(); // We're done!
      });
    });

    req.on('error', function(e) {
      console.log('problem with request: ' + e.message);
      done(e); // Pass the error to Mocha.
    });
});

添加上面的代码并没有解决问题。这是我的控制台➜ 新时代自动化git:master✗ mocha测试/单元测试测试所有定制功能✓ 生成电子邮件地址✓ 通过7ms获取XML数据2➜ 新时代自动化git:master✗可能是因为链接指向的是一个xml页面,而不是实际调用.xml文件?