0

在运行 NestJS+Fastify 应用程序的端到端测试时,我注意到以下警告:

测试运行完成后一秒钟,Jest 没有退出。

这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest--detectOpenHandles来解决此问题。

我的代码遵循文档: 在此处输入图像描述

添加--detectOpenHandles选项时,我看到以下内容:

 FAIL  test/app.e2e-spec.ts
  AppController (e2e)
    ✕ /GET cats (975 ms)

  ● AppController (e2e) › /GET cats

    expect(received).toEqual(expected) // deep equality

    Expected: 200
    Received: 404

      23 |       })
      24 |       .then((result) => {
    > 25 |         expect(result.statusCode).toEqual(200);
         |                                   ^
      26 |         expect(result.payload).toEqual('API is running.');
      27 |       });
      28 |   });

      at app.e2e-spec.ts:25:35

所以有什么问题?

4

1 回答 1

0

粘贴的示例不完整,必须手动关闭应用程序,就像在 Express 示例中一样:

  afterAll(async () => {
    await app.close();
  });

警告消失了。还创建了一个PR 来改进 NestJS 的文档

于 2021-11-19T22:26:22.640 回答