NodeJs 和 Mocha 测试响应

NodeJs and Mocha testing the response

是否可以使用 Mocha 测试 NodeJs 的响应?

使用 $http 从 AngularJs 向 NodeJs 发出 GET 请求。请求成功后调用此函数:

var successCallback = function (data) {
    var SUCCESS_STATUS_CODE = 200;

    response.set('Content-Type', 'application/json');
    response.send({
        statusCode: SUCCESS_STATUS_CODE,
        data: data
    });
};

我曾尝试使用 Sinon 来监视该函数并使用 Mocha 来检查请求,但我无法让它们工作。编写测试以检查 "response.send" 的输出的最佳方法是什么?

要测试来自 Node.JS 的 HTTP 调用的响应,您可以使用 superagent

创建文件夹并安装在 mocha 和 superagent 中:

$ npm install superagent
$ npm install mocha

然后使用以下代码创建一个名为 test.js 的文件:

var request = require('superagent');
var assert = require('assert');

var URL = 'https://www.google.com.bo/#q=nodejs';

describe('Testing an HTTP Response', function () {

  it('should have a status code 200', function (done) {
    this.timeout(9000);

    request
      .get(URL)
      .end(function (err, response) {

        assert.equal(response.status, 200);
        done();

      });

  });

});

然后你可以 运行 它与 mocha

$ mocha