首页 > 解决方案 > 在 jest.setTimeout.Timeout 指定的 5000 毫秒超时内未调用接收异步回调

问题描述

因此,我使用 Jest 和 Supertest 进行了以下测试:

describe('GET /healthcheck', () => {
test('Should return 200 in the GET / health check', (done) => {
    request
      .get('/healthcheck')
      .set({ correlationId: mock.correlationId, Accept: 'application/json' })
      .expect('Content-Type', 'application/json; charset=utf-8')
      .expect(200)
      .end((err, res) => {
        if (err) return err;
        expect(res.body).toEqual(expect.objectContaining({status: 'UP'}));
        return done();
      });
  });

而且我收到了异步超时错误。我也得到了一个 EADDRIUSE,所以它可能是超时的原因,我不知道。

我已经尝试在 jest 上添加一些标志,如 runInBand 和 maxWorkers,但没有一个起作用。我尝试将 async/await 添加到测试调用中,但效果不佳。我添加了 jest.setTimeout 并且它也不起作用。我可能会失去选择。

希望有人可以帮助我,谢谢!

标签: javascriptjestjssupertest

解决方案


推荐阅读