jest-mock-date-examples
jest-mock-date-examples copied to clipboard
Different approaches to mocking the Date in Jest tests
Jest Mock Date examples
Different approaches to mocking the Date in Jest tests
See the full post and explanation at codewithhugo.com/mocking-the-current-date-in-jest-tests.
There are 2 general approaches to mocking the current date:
- Using
new Date()and mocking the constructor. - Using
new Date(Date.now())and mocking the output ofDate.now().
For each of those approaches in the application code, this repo has examples for a spy-based approach and a full function/constructor stub/mock replacement:
Date.now()+ full mock/stub: see ./src/stub-date-now.test.jsDate.now()+ spy: see ./src/spy-date-now.test.jsnew Date()+ full mock/stub: see ./src/stub-date-class.test.jsnew Date()+ spy: see ./src/spy-new-date.test.js
Running the tests
Packages were installed with yarn, although npm should work just as well.
- Run
yarn - Run
yarn test