DEV Community

The Angular Show

E026 - Testing Series Part 2 - Jest

The second part of our four-part series on testing in Angular focuses on Jest. Younes Jaaidi joins panelists Aaron Frost, Brian Love, Shai Reznik, and Jennifer Wadella to talk about why you might want to consider Jest for unit testing in your Angular project.

While the Angular CLI ships with the ability to scaffold unit tests using Jasmine as well as the Karma test runner, Younes teaches us some of the benefits of Jest, including performance, the ability to run Jest in multiple environments, presets, re-running failed tests first, easier-to-read test failure output, a virtual file system, parallelization, snapshot testing, and many more optimizations for the developer experience. Further, the ability to run Jest in multiple environments means that you can run Jest outside of the browser, either with Node or with jsdom.

Younes and the panelists also discuss the pros and cons of snapshot testing. Snapshot testing with Jest enables you to compare template snapshots to prevent unexpected changes to the UI of your application. While snapshot testing can be incredibly powerful, it can be overused and result in false positives, so we should consider other testing solutions such as visual regression testing and end-to-end testing.

Show Notes:
https://code.google.com/archive/p/js-test-driver/
https://jestjs.io/docs/en/architecture
► marmicode.io
https://www.pdxmonthly.com/news-and-city-life/2020/06/kali-ladd-s-powerful-words-on-the-protests-in-portland

Episode source