【发布时间】: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 将无法正常工作