mocha supertest ECONNRESET

时间:2014-02-22 01:13:43

标签: node.js mocha supertest econnreset

我正在使用Mocha和Supertest测试Nodejs服务器。测试套件已发展到超过1500个测试。突然之间,尽管所有受测试的代码仍然有效,但我的测试套件失败并出现此错误:

{ [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }

如果我注释掉之前运行的某些测试,导致错误的测试会发生变化。 造成这种疯狂的原因是什么?

1 个答案:

答案 0 :(得分:3)

我在Mike Rankk的Google Groups post中找到了答案:

  

我们使用mocha和supertest发出这些请求,并意识到我们实际上是在每个请求上启动新的端口绑定,而不是重用现有的绑定。

     

所以这样编写的代码:

var request = require('supertest');
var app = require('../app');
request(app).get(...);
request(app).get(...);
  

成了

var request = require('supertest');
var app = require('../app');
var supertest = request(app);
supertest.get(...);
supertest.get(...);
  

这解决了我们的问题。

对我而言。