如何使用mocha / node.js获取响应的正文

时间:2013-02-19 12:50:42

标签: node.js mocha

我对mocha / omf很新。我有以下基本测试:

omf('http://localhost:7000', function(client) {
  client.get('/apps', function(response){
    response.has.statusCode(200);
    response.has.body('["test1","test2"]');
  });
});

我想检查值“test2”是否在返回的列表中,但我无法弄清楚这是如何可行的。我想的是:

omf('http://localhost:7000', function(client) {
  client.get('/apps', function(response){
    response.has.statusCode(200);
    // response.body.split.contains("test2"); // Something like that
  });
});

我可以访问response.body然后解析字符串吗?

**更新**

我试过用mocha测试,只是一个简单的状态代码:

request = require("request");

describe('Applications API', function(){
  it('Checks existence of test application', function(done){
    request
      .get('http://localhost:7000/apps')
      .expect(200, done);
  });
});

但我收到以下错误:

  

TypeError:Object#没有方法'expect'

有什么想法吗?摩卡需要有额外的插件吗?

1 个答案:

答案 0 :(得分:5)

第二个示例无法正常工作。 request.get是异步的。

这是一个运行请求的工作示例,应该

request = require("request");
should = require("should");

describe('Applications API', function() {
  it('Checks existence of test application', function(done) {
    request.get('http://google.com', function(err, response, body) {
      response.statusCode.should.equal(200);
      body.should.include("I'm Feeling Lucky");
      done();
    })
  });
});