While working on the DevTools profiler, I've noticed that durations are sometimes incorrect. This seems to be vaguely related to high/low priority state updates. Need to track this down more so I'm filing an issue for myself.
expect(call[5]).toBe(10); 
      });
      it('should not include time between frames', () => {
        const callback = jest.fn();
        const Yield = ({renderTime}) => {
          advanceTimeBy(renderTime);
          ReactTestRenderer.unstable_yield('Yield:' + renderTime);
          return null;
        };
        advanceTimeBy(5); 
        
        
        const renderer = ReactTestRenderer.create(
          <React.unstable_Profiler id="outer" onRender={callback}>
            <Yield renderTime={5} />
            <Yield renderTime={10} />
            <React.unstable_Profiler id="inner" onRender={callback}>
              <Yield renderTime={17} />
            </React.unstable_Profiler>
          </React.unstable_Profiler>,
          {unstable_isAsync: true},
        );
        expect(renderer).toFlushThrough(['Yield:5']);
        expect(callback).toHaveBeenCalledTimes(0);
        
        advanceTimeBy(50); 
        
        
        expect(renderer).toFlushAll(['Yield:10', 'Yield:17']);
        expect(callback).toHaveBeenCalledTimes(2);