Koa app在超级testing时挂起

我的超级用户/磁带testing文件如下所示:

var test = require('tape'); var app = require('../../api'); var agent = require('supertest').agent var supertestCompatibleServer = agent(app.callback()); test('GET /Campus.svc', function (t) { supertestCompatibleServer .get('/Campus.svc') .expect(200) .expect('Content-Type', /json/) .end(function (err, res) { t.ifError(err, 'No error'); t.end(); }); }); 
  1. 我正在testing的端点在启动服务器时可以正常工作,并且可以通过curl或浏览器手动点击。
  2. testing运行良好,并通过,但他们只是挂在最后而不是完成。
  3. 实际的端点代码只是碰到数据库,并以json的forms返回一些logging。

什么可能导致testing挂起,我该如何解决?

原来这与这个问题有关: https : //github.com/substack/tape/issues/216

在我的情况下,通过knex的数据库连接仍然打开,导致节点进程完成。 解决scheme是在拆解testing中显式调用knex.destroy()