エクスプレスルートのユニットテストにJESTを使用しています。
yarn test
の実行中にすべてのテストケースに合格しましたが、エラーが発生します
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.
async
とdone
を使用しましたが、それでも上記のエラーが発生します。
以下は私のスペックコードです。助けてください
routes.spec.ts
const request = require('supertest');
describe('Test the root path', () => {
const app = require('./index');
test('GET /gql/gql-communication-portal/release-notes', async (done) => {
const response = await request(app).get('/gql/gql-communication-portal/release-notes');
expect(response.status).toBe(200);
done();
});
});
私は同じ問題を抱えていましたが、package.jsonファイルに"test": "jest --detectOpenHandles"
を追加してnpm test --detectOpenHandles
を実行しました。今回はエラーメッセージが表示されませんでした。多分あなたはそれをやってみることができます。
私の問題はこのコードによって解決されました:
beforeAll(done => {
done()
})
afterAll(done => {
// Closing the DB connection allows Jest to exit successfully.
mongoose.connection.close()
done()
})