⚡️ Vitest Becomes Angular's Default Test Runner
After a lengthy period of uncertainty, the Angular team has settled on Vitest as its testing framework of choice.
With the release of Angular 21, Vitest will be the default test runner. Running ng new will set up Vitest out of the box, replacing Jasmine as the go-to option.
The real win here isn't the framework itself—it's the clarity. For more than two years, developers were left guessing about which testing tool to adopt, particularly when starting fresh projects.
Angular had its official Jasmine/Karma pairing, though the messaging was always that Jasmine would remain supported while Karma would eventually be phased out. The Modern Web Test Runner was floated as a potential Karma replacement.
Jest was initially the second officially supported option, but over time Vitest emerged as a serious contender as well.
That left developers in a tough spot. Stick with Jasmine? Dive into a modern framework? Both Jest and Vitest were available via community schematics, but betting on Jest felt risky if Vitest was going to win the official nod. A frustrating position to be in.
So simply having a definitive direction—regardless of the specific framework—comes as a significant relief to most in the community.
🧪 The Case for Vitest
Choosing Vitest was the sensible call, and from the Angular team's perspective, the reasoning is straightforward: they aimed for maximum compatibility for teams migrating off Jasmine/Karma, which run tests in a real browser.
Jest operates on Node.js, but Vitest offers a browser mode that runs tests in the browser environment, just like the old Jasmine/Karma setup. Notably, Vitest's browser mode was declared stable just last week with the Vitest 4 release.
That timing likely sealed the deal. Beyond that, Vitest boasts a massive community, is the default in nearly every other frontend framework, handles ESM without the friction Jest encounters, and is built with TypeScript as a top priority.
This move also pulls Angular closer to the wider JavaScript ecosystem, where Vite has become the standard build tool. As the name implies, Vitest is built on top of Vite.
🧩 Debating Content Projection
Alex Rickabaugh, the Angular framework's tech lead, has opened a canonical issue pulling together the known pain points with content projection, especially as they relate to Angular's internal design.
Right now it's a curated list of links to related issues and discussions, rather than a specific proposal. But its very existence suggests work might be coming in this area soon.
