title: React Hooks: Timeout occurred during unit testing waitForValueToChange
body: <pre><code>export function useTimer(initValue: number, isProceed: boolean) {
    const [value, setter] = useState(initValue)
  
    useEffect(() =&gt; {
      setter(initValue)
      const interval = setInterval(() =&gt; {
        if (isProceed &amp;&amp; value &gt; 0) setter((c) =&gt; c - 1)
        else if (value &lt; 0) {
          clearInterval(interval)
        }
      }, 1000)
      return () =&gt; {
        clearInterval(interval)
      }
    }, [initValue, value, isProceed])
  
    return {
      seconds:
        value &gt; 0
          ? `${Math.floor(value / 60)}:${value % 60 &lt; 10 ? '0' : ''}${value % 60}`
          : '',
      resetTimer: () =&gt; setter(initValue),
    }
  }
  
    test('InitialCountState &lt; 0', async () =&gt; {
      const { hydrate, result, waitForValueToChange } = renderHook(() =&gt;
        useTimer(InitialCountState, isStartTimer)
      )
      InitialCountState = -1
      isStartTimer = true
  
      hydrate()
      await waitForValueToChange(() =&gt; result.current.seconds)
      expect(result.current.seconds).toBe('')
    })
  </code></pre>
  <p>Timed out in waitForValueToChange after 1000ms.</p>
  <p>Failed to resolve failure result during hooks test. It's said that it failed because it was over time, but I don't know how to solve it. Is there a good way?</p>