- Simpler API, less boilerplate code.
- Flexible and easy configuration.
- Test files executed in isolation.
- Advanced watch mode.
- Snapshots support = easier start with testing.
- Code coverage.
- Another migration.
- Mocha has still a bit better performance (according to my quick tests).
My analysis got very positive feedback, with only a few little concerns, so I got encouraged to take action and verify the assumptions stated. I picked two different projects to play with to ensure both of them will uniformly benefit from using Jest.
At Automattic we use Mocha to run all tests written for Calypso project which powers WordPress.com. It also includes end-to-end tests, which live in their own repository. We have been using this setup for over 3 years now. I think it is a good moment to revisit this choice. I found this unit testing tools comparison very helpful when evaluating alternatives. I strongly agree with the conclusions shared by Martin Olsson in his article:
I have already published one post about Progressive Web Apps (PWA) a few months back. It looks like Google is investing a lot of efforts to make it a new standard of building websites. At the last Google I/O, there were a few announcements made related to making PWA a default feature in a few popular boilerplates and CLIs for libraries like React, Preact, Polymer or Vue. I recommend watching the following presentation by Addy Osmani:
I got very excited when watching this talk for React Europe by Leland Richardson:
I have recently spent some time investigating the current state of Progressive Web Apps (PWA). Some of you may be wondering what hides behind yet another buzzword originally proposed by Google in 2015? This is an umbrella term for certain technologies that go together to produce an app-like experience on the web. This is how it is advertised by Google on their landing page:
A new way to deliver amazing user experiences on the web.
Progressive Web Apps are user experiences that have the reach of the web, and are:
- Reliable – Load instantly and never show the downasaur, even in uncertain network conditions.
- Fast – Respond quickly to user interactions with silky smooth animations and no janky scrolling.
- Engaging – Feel like a natural app on the device, with an immersive user experience.