使用mocha.js

时间:2015-05-02 09:02:24

标签: node.js testing mocha chai

我正在尝试为我的npm模块编写测试,它负责与我的后端api进行通信。这个模块将坐在一个cordova Android应用程序内,并将负责任何api调用。我所拥有的问题似乎是对摩卡的理解,但我已经在互联网上看了一眼,找不到解决方案,所以我转向群众。举个例子,我有一个像

这样的功能
  test: function() {

    request.get({
      url: defaultHost,
      headers: {
      }
    }, function(err, httpResponse, body) {

      if(err) {
        return err;
      } else {
        console.log(body);
        return body;
      }
    });
  }

这项工作会。我现在正试图在摩卡中为它创建测试。我得到的问题是我不知道如何从.get调用中获取返回函数到mocha测试中。 api返回json,所以我知道我将不得不做一个相同的比较,但目前我甚至无法打印结果。我认为问题在于,通过我的其他摩卡测试,我可以开始工作,他们都有一个参数,你传递的地方,因为这不。我目前的测试代码看起来像这样。

describe('#test', function() {
  it('tests api reachability;', function() {
    var test = new test();
  });
});

如果有人可以解释之后需要什么,或者甚至只是在谷歌指出我正确的方向,那将是非常棒的。我通常都很擅长谷歌,但未能在这个方面找到方向。

1 个答案:

答案 0 :(得分:1)

我认为nock会解决这个问题。假设您向某个资源(http://domain.com/resource.json)发送get请求,测试将如下所示:

var nock   = require('nock');

// ... 

describe('#test', function() {
  beforeEach(function () {
    nock('http://domain.com')
      .get('resource.json')
      .reply(200, {
        message: 'some message'
      });
  });

  it('tests api reachability;', function() {
    var test = new test();
  });
});