[Bug]: broken runAllTimers
balffr opened this issue · 0 comments
balffr commented
Version
29.7
Steps to reproduce
const Test = () => {
const [count, setCount] = useState(10);
useEffect(() => {
if (count > 0) {
setTimeout(() => {setCount(count - 1)}, 1000);
}
}, [count])
return null
}
jest.useFakeTimers();
jest.spyOn(global, 'setTimeout');
describe('', () => {
it('should call 10 times', () => {
render();
act(() => {
jest.runAllTimers();
});
expect(setTimeout).toHaveBeenCalledTimes(10);
});
});
Expected behavior
10 setTimeout calls are expected
Actual behavior
only 2 times it was called
Additional context
No response
Environment
ubuntu 22.04