{"id":"https:\/\/jestjs.io\/blog","title":"Jest Blog","updated":"2025-06-04T00:00:00.000Z","generator":"https:\/\/github.com\/jpmonette\/feed","link":{"@attributes":{"rel":"alternate","href":"https:\/\/jestjs.io\/blog"}},"subtitle":"Jest Blog","icon":"https:\/\/jestjs.io\/img\/favicon\/favicon.ico","entry":[{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2025\/06\/04\/jest-30","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2025\/06\/04\/jest-30"}},"updated":"2025-06-04T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":[{"name":"Svyatoslav Zaytsev"},{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}]},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2022\/08\/25\/jest-29","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2022\/08\/25\/jest-29"}},"updated":"2022-08-25T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Simen Bekkhus"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2022\/05\/11\/jest-joins-openjs","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2022\/05\/11\/jest-joins-openjs"}},"updated":"2022-05-11T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Ricky Hanlon"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2022\/04\/25\/jest-28","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2022\/04\/25\/jest-28"}},"updated":"2022-04-25T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Simen Bekkhus"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2021\/05\/25\/jest-27","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2021\/05\/25\/jest-27"}},"updated":"2021-05-25T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Tim Seckinger"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2021\/03\/09\/jest-website-upgrade","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2021\/03\/09\/jest-website-upgrade"}},"updated":"2021-03-09T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"S\u00e9bastien Lorber","uri":"https:\/\/sebastienlorber.com"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2020\/05\/05\/jest-26","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2020\/05\/05\/jest-26"}},"updated":"2020-05-05T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2020\/01\/21\/jest-25","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2020\/01\/21\/jest-25"}},"updated":"2020-01-21T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Simen Bekkhus"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2019\/01\/25\/jest-24-refreshing-polished-typescript-friendly","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2019\/01\/25\/jest-24-refreshing-polished-typescript-friendly"}},"updated":"2019-01-25T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Simen Bekkhus"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2018\/06\/27\/supporting-jest-open-source","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2018\/06\/27\/supporting-jest-open-source"}},"updated":"2018-06-27T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Ricky Hanlon"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2018\/05\/29\/jest-23-blazing-fast-delightful-testing","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2018\/05\/29\/jest-23-blazing-fast-delightful-testing"}},"updated":"2018-05-29T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Ricky Hanlon"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2017\/12\/18\/jest-22","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2017\/12\/18\/jest-22"}},"updated":"2017-12-18T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Simen Bekkhus"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2017\/05\/06\/jest-20-delightful-testing-multi-project-runner","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2017\/05\/06\/jest-20-delightful-testing-multi-project-runner"}},"updated":"2017-05-06T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2017\/02\/21\/jest-19-immersive-watch-mode-test-platform-improvements","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2017\/02\/21\/jest-19-immersive-watch-mode-test-platform-improvements"}},"updated":"2017-02-21T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Rogelio Guzman"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2017\/01\/30\/a-great-developer-experience","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2017\/01\/30\/a-great-developer-experience"}},"updated":"2017-01-30T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"H\u00e9ctor Ramos"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2016\/12\/15\/2016-in-jest","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2016\/12\/15\/2016-in-jest"}},"updated":"2016-12-15T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2016\/10\/03\/jest-16","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2016\/10\/03\/jest-16"}},"updated":"2016-10-03T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2016\/09\/01\/jest-15","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2016\/09\/01\/jest-15"}},"updated":"2016-09-01T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2016\/07\/27\/jest-14","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2016\/07\/27\/jest-14"}},"updated":"2016-07-27T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}},{"title":{"@attributes":{"type":"html"}},"id":"https:\/\/jestjs.io\/blog\/2016\/06\/22\/jest-13","link":{"@attributes":{"href":"https:\/\/jestjs.io\/blog\/2016\/06\/22\/jest-13"}},"updated":"2016-06-22T00:00:00.000Z","summary":{"@attributes":{"type":"html"}},"content":{"@attributes":{"type":"html"}},"author":{"name":"Christoph Nakazawa","uri":"https:\/\/github.com\/cpojer"}}]}