Jest не выходил через секунду после завершения пробного запуска. --detectOpenHandles - PullRequest
0 голосов
/ 30 августа 2018

Я собираюсь протестировать сервер, работающий с Jest. Иногда это успешно, но иногда это показывает ошибку, как это. enter image description here

Так что, если я использую флаг --detectOpenHandles, как это было предложено, он всегда будет успешным, не показывая ошибку eny. Это тестовый код.

  it("should be able to initialize a server (development)",async (done) => {
      // Before main() is called there is no active connection:

    expect(connection.readyState).toBe(0);
    return main({
      env: "dev",
      port: PORT,
    })
    .then(async (server: ApolloServer) => {
        // After main() got called, there is an active connection:
      expect(connection.readyState).toBe(1);
      await server.stop();
      done();
    })
  });
  afterAll(async () => {
    await connection.close(); //connection is mongoose.connection
  });

Я не уверен, почему не получается, когда флаг. И это странно, иногда успех, а иногда неудача.

Спасибо

1 Ответ

0 голосов
/ 07 июля 2019

Я столкнулся с подобной проблемой и смог ее решить, вернув обещание в функции, переданной afterAll. Например:

afterAll(() => {
  return connection.close(); // connection.close() returns a promise
});

Документы для справки

...