Mocha测试(POST请求):测试套件之外的错误

时间:2016-01-23 23:43:07

标签: post testing error-handling mocha

过去的一天,我一直把头靠在墙上。无法弄清楚可能在Mocha中引发错误的内容:“测试套件外的未捕获错误:未捕获错误:连接ECONNREFUSED 127.0.0.1:27017”在Mocha中。

测试通过,但它会以红色突出该错误。

我正在为POST请求运行一个简单的测试。测试时没有运行node,mongod或任何其他应用程序的其他实例。我还关闭了AFTER块中的快速服务器,以确保在我下次尝试测试之前完成它。

代码:

describe('UNIT: test the cat express app', () => {
  after((done) => {
    server.close();
    done();
  });

  it('should create with a new cat with a POST request', (done) => {
    chai.request('localhost:3000')
    .post('/app/cats')
    .send({name: 'test cat'})
    .end((err, res) => {
      expect(err).to.eql(null);
      expect(res).to.have.status(200);
      expect(res.body.name).to.eql('test cat');
      expect(res.body).to.have.property('_id');
      done();
    });
  });
});

任何建议都会有所帮助。我到处寻找但除了在After块中关闭服务器之外没有找到任何东西。

2 个答案:

答案 0 :(得分:2)

这是运行mongodb的端口,因此请确保您的数据库正在运行。

如果您使用自制软件来安装mongo,则启动数据库的命令为mongo,您可能还必须指定数据库路径mongod --dbpath ~/data/db

我通常只是打开一个单独的终端窗口并在运行mocha之前运行mongo

答案 1 :(得分:-1)

我也遇到了这种类型的错误,但我更改了端口号,即

http://localhost:3000

I think it's working....