-
-
Notifications
You must be signed in to change notification settings - Fork 774
Description
Is your feature request related to a problem? Please describe.
In https://github.com/sinonjs/sinon/tree/main/docs/guides/migration-guide.md the fact that there is a breaking change with the new version of Fake Timers is mentioned (and explained, but on a first reading I didn't thought our problem was related). I think the explanation could be improved with some examples.
Describe the solution you'd like
If you are testing Express endpoints and initialize the fake timer the old way:
clock = useFakeTimers(now.toDate());
every test will end with a not very descriptive timeout. I think it could be a pretty common situation, so the guide could mention that a possible common fix for those cases would be to fake just the Date object:
clock = useFakeTimers({ now: now.toDate(), toFake: ['Date'] });
I found the hint to this in a blog post from 2018, but in our case it hasn't manifested itself until we upgrade to sinon v19. Both the blog post author and us had to debug the internals of express to understand what was happening.