【问题标题】:NodeJs and Mocha testing the responseNodeJs 和 Mocha 测试响应
【发布时间】:2015-06-08 14:46:04
【问题描述】:

是否可以使用 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”的输出的最佳方法是什么?

【问题讨论】:

    标签: angularjs node.js mocha.js


    【解决方案1】:

    要测试来自 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 2014-05-04
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多