【问题标题】:node.js socket hang up while using Mocha.js使用 Mocha.js 时 node.js 套接字挂断
【发布时间】:2016-05-31 08:30:24
【问题描述】:

我正在使用 node v6.2.0 并通过 Mocha & Chai 进行测试。

我写了一个 api,当我用 postman / website / node CLI 测试它时,它工作得很好,但是当我使用 mocha 测试它时,我得到一个错误,上面写着:

{ [错误:连接 ECONNREFUSED 127.0.0.1:4001] 代码:'ECONNREFUSED', 错误号:'ECONNREFUSED', 系统调用:'连接', 地址:'127.0.0.1', 端口:4001 }

现在,问题是,在 http://localhost:4001 测试连接的先前测试工作正常...

这是测试代码 -

describe('/api/getAlbums', function () {
    this.timeout(5000);
    it('should get an array of 4 objects', function (done) {
        http.get('http://localhost:4001/api/getAlbums?uid=some_uid', function (res) {
            console.log(`Got response: ${res.statusCode}`);
           done();
        }).on('error', (e) => {
            console.log(`Got error: ${e.message}`);
            console.log('e', e);
            done();
        });
    });
});

同样,当我在 CLI 中运行相同的函数时(没有 done();),它工作正常。

我翻阅了很多文档,但找不到任何东西,很想得到您的帮助, 谢谢。

【问题讨论】:

  • 嗨,你必须通过 res.end(); 结束连接;详情请查看线程stackoverflow.com/questions/18867185/…。在发布问题之前,请检查可用的答案。
  • 与此无关。如果您是对的,那么使用 postman/cli/web 将无法正常工作

标签: node.js sockets mocha.js


【解决方案1】:

问题的根源是 nodemon。 好像有同步问题。 我已将“测试”文件夹添加到 nodemon.json 的忽略中,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2014-05-08
    • 2014-12-25
    相关资源
    最近更新 更多