Hola, soy nuevo en las pruebas nativas de reacción, ¿alguien puede ayudarme a resolver esta prueba? Nunca probé esto antes, así que estoy confundido para resolver esta prueba de función, aquí está el código:
export const startTimer = (setSecondLeft: Function): void => { reactNativeBackgroundTimer.runBackgroundTimer(() => { setSecondLeft(secs => { if (secs > 0) { return secs - 1; } else if (secs === 0) { reactNativeBackgroundTimer.stopBackgroundTimer(); } }); }, 1000); };Este código se usa para ejecutar un temporizador, y por cada 1 segundo, el temporizador disminuirá (segundos-1) desde el temporizador de fondo nativo de reacción.
mi código de prueba:
import reactNativeBackgroundTimer from 'react-native-background-timer'; jest.mock('react-native-background-timer',() =>{ return{ runBackgroundTimer: jest.fn(), stopBackgroundTimer : jest.fn() } }) const runTimer = jest.spyOn(reactNativeBackgroundTimer,'runBackgroundTimer') describe('Timer Handler Unit Test',()=>{ const setSecondLeft = jest.fn() it('Should be called',()=>{ startTimer(setSecondLeft) expect(runTimer).toBeCalled() }) it('Should return secs - 1',()=>{ const secs = 10 runTimer() expect(startTimer(setSecondLeft)).toBe(9) }) })alguien me puede ayudar para esta ayuda. Realmente aprecio la ayuda, ¡muchas gracias!