Jasmine
Behaviour-driven JavaScript testing framework with no external dependencies.
What it is
Jasmine predates most of the current JavaScript testing landscape and supplies structure, matchers, spies and clocks in a single dependency-free package. It remains the default in Angular projects and in browser environments where a build step is undesirable.
Best for
Where it is strong
- Self-contained: spies, clocks and matchers with no extra packages.
- Runs directly in a browser without bundling.
- Extremely stable API — old suites keep working.
Where it falls short
- Feels dated; snapshot testing and modern mocking are absent or bolted on.
- Momentum has moved to Jest and Vitest, including within the Angular ecosystem.
- Weaker TypeScript ergonomics than newer runners.
Pricing
Free and open source
Open sourceFree tier: Everything, self-hosted
What drives the bill: Free and open source. You pay in engineering time and CI minutes.
Check current pricing on OSS community’s siteFigures are indicative and were last reviewed August 2026. Vendors change pricing often; confirm before you commit.
Works with
What people who use Jasmine say
No reviews of Jasmine yet. If you have used it in anger, yours would be the first.
Alternatives to Jasmine
If Jasmine is not the right fit, these solve the same problem differently.
Jest
Unit & Component
The JavaScript testing incumbent: batteries included, snapshots, huge ecosystem.
Vitest
Unit & Component
Vite-native test runner with instant watch mode and a Jest-compatible API.
Mocha
Unit & Component
Minimal, unopinionated Node.js test runner you assemble to taste.
