Node.js 如何为检查响应的http请求编写测试';返回的数据是什么?

Node.js 如何为检查响应的http请求编写测试';返回的数据是什么?,node.js,unit-testing,http,Node.js,Unit Testing,Http,在我的AccountsApiHandler模块中有以下方法,我想编写一个测试,测试帐户是否正确返回。如果我在某个测试中调用此方法,如何检索帐户列表 AccountsApiHandler.prototype.accounts = function (req, res) { var self = this /* * Get list of accounts */ if (req.method === 'GET') { return self.server.acc

在我的
AccountsApiHandler
模块中有以下方法,我想编写一个测试,测试帐户是否正确返回。如果我在某个测试中调用此方法,如何检索帐户列表

AccountsApiHandler.prototype.accounts = function (req, res) {
  var self = this

  /*
   *  Get list of accounts
   */

  if (req.method === 'GET') {
    return self.server.accounts.listAccountAsJson()
      .pipe(JSONStream.stringify())
      .pipe(res);
  }
};
下面是我的测试,使用
hammock
npm模块生成模拟请求和响应对象。此测试假设现有帐户已在测试的数据库中: var测试=需要('磁带') var hammock=require(‘hammock’) var accountsApiHandler=require('../../handlers/accounts-api')()


当我运行这个测试时,我的
帐户流是空的,因此给我一个
帐户列表的空帐户列表。有没有合适的方法从我的
AccountsApiHandler.accounts
方法中获取帐户数据?

看起来我在上述问题中的实现很接近,但不是像这样流式处理
帐户:

  accounts
    .on('data', function (data) {
      accountsList.push(data)
    })
    .on('error', function (err) {
      t.fail(err)
    })
    .on('end', function () {
      console.log("results:", accountsList)
      t.equals(accountsList, actualAccounts)
    })

}
我需要流式传输响应本身,它也没有
data
事件:

  accounts
    .on('end', function (err, data) {
      t.equals(data, actualAccounts)
    })
希望这对某人有所帮助。npm网站上有更多文档

  accounts
    .on('end', function (err, data) {
      t.equals(data, actualAccounts)
    })