Шутка NestJS SuperTest не завершилась через секунду после завершения тестового запуска

#javascript #testing #jestjs #nestjs #supertest

Вопрос:

Я хочу сохранить некоторые данные из тела и использовать их при следующем запросе в своих тестах. Я делаю запрос на публикацию и возвращаю идентификатор. Этот идентификатор я хочу использовать для извлечения данных в другом тесте.

Мой код выглядит так:

 it('/auth/register (POST)', async () => {
   const test = await request(app.getHttpServer())
      .post('/api/auth/register')
      .send({username: "Zoe"})
      .expect(201)
   token = test.body.token
})
 

Токен устанавливается, и код запускается, однако мой шутливый тест не закончится, и я получу ошибку:

 Jest did not exit one second after the test run has completed.

This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.
 

Я знаю, что могу выполнить forceExit, но я хочу сделать это чисто и понять проблему.

Когда я использую метод возврата jest, он работает.. Однако есть Идк, как где-то хранить тело..

 it('/auth/register (POST)', () => {
   request(app.getHttpServer())
      .post('/api/auth/register')
      .send({username: "Zoe"})
      .expect(201)
})