By stack
How to Test an Angular App End to End
Karma and Jasmine cover components and services. They won't catch a broken route guard or a form that fails against the real API. Here's how to get end-to-end coverage without a Protractor-style suite to maintain.
The problem
Angular projects usually have solid component and service coverage through Karma and Jasmine, and TestBed makes unit testing the framework's building blocks straightforward. What's often missing is the layer above: does a real user journey work against the real backend, with the router, guards, interceptors, and forms all in play. Protractor filled that role and is now deprecated, leaving a gap teams patch with a scripted suite they then have to maintain.
Why the usual approach falls short
- TestBed tests the pieces, not the assembled app. A route guard that misbehaves only in the real navigation flow won't show up.
- A scripted E2E suite is a maintenance commitment — selectors and flows drift with every UI change.
- Zone.js and RxJS timing make scripted E2E tests flakier; fixed waits race change detection and async pipes.
How Manta fits
Point Manta at your running Angular app — a dev build, staging, or production — and it uses it like a person: navigating the router through guards and lazy-loaded modules, waiting for change detection and pending observables to settle, submitting reactive forms that hit real interceptors. It reports broken journeys with screenshots and reproduction steps, and there's no selector-based suite to keep in sync.
For the journeys that must always work, describe them in plain English.
Keep Karma/Jasmine (or Jest) for units — the end-to-end testing guide covers the layering, and the comparison pages cover the E2E tool choice.
What your first run looks like
- Get a URL for the running app and a test account.
- Start a run; Manta discovers routes and flows as it explores.
- Review findings and the navigation map; pin the critical journeys as plain-English checks.
Where it fits
Unit tests underneath, Manta for end-to-end coverage of the running app, a small scripted set for exact assertions. See also how to test a React app end to end.
FAQ
Point Manta at your app
One URL. A map of every flow and a list of what's broken, in minutes. Free, no credit card.