我在 node.js 中创建了一个应用程序,它使用服务器上 NPM 的“ws”包为我提供了一个 WebSocket 接口。现在我想用 Jest 测试这个接口。测试运行成功,但 Jest 没有退出并给我错误:
测试运行完成后一秒钟,Jest 没有退出。
我阅读了文档,发现我必须在测试中使用该done
参数并在测试完成时调用它。
服务器将在函数中启动并在Jest 给出的beforeAll
函数中停止。afterAll
describe('app', () => {
it('connect websockets response' (done), => {
expect.assertions(1);
new WebSocket(`ws://localhost:${port}`).on('message' (msg), => {
expect(JSON.parse(msg).id).toEqual(0);
done();
})
});
});
我希望测试完成后 Jest 会成功停止。