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(); }); });
- 我正在testing的端点在启动服务器时可以正常工作,并且可以通过curl或浏览器手动点击。
- testing运行良好,并通过,但他们只是挂在最后而不是完成。
- 实际的端点代码只是碰到数据库,并以json的forms返回一些logging。
什么可能导致testing挂起,我该如何解决?
原来这与这个问题有关: https : //github.com/substack/tape/issues/216
在我的情况下,通过knex的数据库连接仍然打开,导致节点进程完成。 解决scheme是在拆解testing中显式调用knex.destroy()
。