【发布时间】:2019-05-03 05:02:00
【问题描述】:
我在 node.js 中创建了一个应用程序,它使用服务器上 NPM 的“ws”包为我提供了一个 WebSocket 接口。现在我想用 Jest 测试这个接口。测试运行成功,但 Jest 没有退出并给我错误:
Jest 在测试运行完成后一秒钟没有退出。
我看了文档发现必须在测试中使用done参数,测试完成后调用。
服务器会在beforeAll函数中启动,在Jest给出的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 在测试完成后成功停止。
【问题讨论】: