javascript - react - jest vs mocha
Deshabilitar Jest setTimeout simulacro (1)
Puede agregar el siguiente código antes de los casos de prueba. Funciona para mí en Jest v14.1.0 -
jest.useRealTimers()
Estoy escribiendo una prueba de Jest para el código que depende de una biblioteca websocket.
La biblioteca websocket es burlada. Deseo enviar un mensaje, esperar a que se completen las acciones de sincronización y verificar la respuesta.
it(''sends a message and gets a response'', () => {
processor(ws).sendMessage() // do a bunch of async stuff, call websocket.sendMessage()
setTimeout(() => {
expect(ws.getResponse()).toEqual(''all done'')
}, 100)
})
Desafortunadamente porque Jest se burla de SetTimeout, setTimeout falla. Si ejecuto jest.runAllTimers()
, el tiempo de espera se produce instantáneamente, por lo que no puede recoger el mensaje.
¿Alguna idea de cómo convencer a broma de que se pueda desbloquear setTimeout o una solución provisional de Jasmine?