gpt4 book ai didi

node.js - 使用 supertest 测试时 Koa 应用程序挂起

转载 作者:行者123 更新时间:2023-12-02 20:58:26 24 4
gpt4 key购买 nike

我的 super 测试/磁带测试文件如下所示:

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. 我正在测试的端点在启动服务器并使用curl或浏览器手动点击它时工作正常。
  2. 测试运行良好并通过,但它们只是卡在最后而不是完成。
  3. 实际的端点代码只是访问数据库并以 json 形式返回一些记录。

什么可能导致测试挂起以及如何修复它?

最佳答案

这与此问题相关:https://github.com/substack/tape/issues/216

就我而言,通过 knex 的数据库连接仍然打开,这导致 Node 进程完成。解决方案是在拆卸测试中显式调用 knex.destroy()

关于node.js - 使用 supertest 测试时 Koa 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36819345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com