EVERYTHING XIAOMI
Get listed

Jasmine

Jasmine is an open-source framework for testing JavaScript code that runs in browsers and Node.js.

Place
#7 of 32
Score
6.5
Jasmine's website

What Jasmine is

Jasmine is an open-source framework for testing JavaScript code that runs in browsers and Node.js. Specs use a describe/it structure and expect matchers. The jasmine-core package has no external dependencies, and Jasmine does not rely on other JavaScript frameworks. For Node, developers can install the package locally with npm and invoke it using npx jasmine; the standalone distribution runs browser specs without other tools or a web server. Jasmine supports ES modules, and its Node setup can load CommonJS modules. The jasmine-browser-runner can run specs interactively in browsers or in CI with headless Chrome or Sauce Labs, and can connect to a user's own Selenium Grid as a remote browser grid. Teams can configure runners and use custom reporters and matchers, as well as randomized spec order. Jasmine supports JavaScript and TypeScript, lists parallel execution and built-in mocks, and is licensed under the MIT License. Browser and Node support follows a rolling window, so older platforms may receive best-effort support or be dropped in minor releases. The unmaintained karma-jasmine adapter depends on jasmine-core 4.x, which can prevent newer Jasmine features from working through it. The project directs users to GitHub to report issues and contribute.

Good

  • Open source under the MIT License.
  • jasmine-core has no external dependencies.
  • Standalone distribution needs no web server.
  • Supports ES modules and CommonJS in Node.
  • Custom reporters, matchers, and runners are available.

Watch out

  • Older platforms may lose support in minor releases.
  • The unmaintained karma-jasmine adapter depends on jasmine-core 4.x.

Who it suits

Jasmine suits JavaScript and TypeScript developers who need browser or Node.js specs and prefer a framework without external dependencies in jasmine-core. Its browser runner options also suit teams running tests interactively or in CI.

Verdict

Jasmine offers browser and Node.js testing with configurable runners and several ways to execute specs. Check the rolling platform support and the karma-jasmine compatibility limitation if those affect your setup.

Plans and prices

From Jasmine's own pricing page, checked 9 Oct 2026.

All about pricing
PlanPriceWhat it gives you
JasmineFreeNo pricing or usage limits stated

The facts

Each one read from Jasmine's own pages, with the date it was checked.

Where it runs

Browser runner
The jasmine-browser-runner package can run specs interactively in browsers or in CI using headless Chrome or Sauce Labs.checked 9 Oct 2026

What it does

Compatibility limit
The FAQ says the unmaintained karma-jasmine adapter depends on jasmine-core 4.x, so newer Jasmine features may not work through it.checked 9 Oct 2026
Customization
Jasmine supports configurable runners, custom reporters, custom matchers, and randomized spec order.checked 9 Oct 2026
Dependencies
The jasmine-core package has no external dependencies, and Jasmine does not depend on other JavaScript frameworks.checked 9 Oct 2026
Integrations
The browser runner can use Sauce Labs or a user's own Selenium Grid as a remote browser grid.checked 9 Oct 2026
License
The Jasmine project repository states that the software is licensed under the MIT License.checked 9 Oct 2026
Module support
Jasmine supports ES modules, and its Node setup can also load CommonJS modules.checked 9 Oct 2026
Node installation
The Node package can be installed locally with npm and invoked using npx jasmine.checked 9 Oct 2026
Purpose
Jasmine is a framework for testing JavaScript code that runs in browsers and Node.js.checked 9 Oct 2026
Standalone option
The standalone distribution runs specs in a web browser without other tools, and it does not require a web server.checked 9 Oct 2026
Support
The project directs users to its GitHub repository to report issues and contribute.checked 9 Oct 2026
Testing style
Jasmine specs use JavaScript with a describe/it structure and expect matchers.checked 9 Oct 2026
Version support
Browser and Node support follows a rolling window; older platforms may be supported on a best-effort basis or dropped in minor releases.checked 9 Oct 2026
The full review of Jasmine

Jasmine is a free, open-source testing framework for JavaScript running in browsers and Node.js. It suits developers who want a framework-independent test layer with configurable execution, especially when the same project needs local, browser, CI and remote-grid runs. The main trade-off is its rolling platform-support window and limited compatibility with the unmaintained karma-jasmine adapter.

Overview

Jasmine keeps test authoring in JavaScript, using a readable describe/it structure and expect matchers. That makes it a focused choice for teams that do not want their test framework tied to another JavaScript framework. The jasmine-core package has no external dependencies, reducing the amount of infrastructure a project must bring in for unit tests.

Its scope covers both browser code and Node.js applications. JavaScript and TypeScript are supported, and parallel execution is available. Jasmine does not provide parameterized cases, so suites that depend heavily on data-driven test declarations may need a different approach or additional test structure.

Key features

The browser workflow is unusually flexible. The jasmine-browser-runner can launch specs interactively in a browser or run them in CI with headless Chrome or Sauce Labs. It can also use a user's Selenium Grid, which gives teams a path to remote-browser coverage without abandoning Jasmine's spec format. For small checks, the standalone distribution runs directly in a browser without a web server or other tooling.

Node users install the package locally with npm and invoke it through npx jasmine. The Node setup handles both ES modules and CommonJS, making it suitable for projects that are migrating module systems or maintain mixed code. Configurable runners, custom reporters and custom matchers let teams fit Jasmine into existing workflows rather than accepting one fixed execution and reporting model. Randomized spec order can expose order-dependent tests, while built-in mocks support isolated unit tests.

These controls matter most in teams maintaining several environments or a substantial CI pipeline. A small project may value the standalone browser option more than remote-grid integration, while a data-heavy suite should account for the absence of parameterized cases.

Pricing

Jasmine is open source and costs nothing under its Jasmine plan. There is no paid tier, seat charge, usage quota or stated usage limit, and no trial period because the software is already free. The repository is licensed under the MIT License, permitting use in commercial and noncommercial applications. Support is directed through the project's GitHub repository for issue reports and contributions.

Platforms

Jasmine supports Linux, macOS, Windows and the web. Browser execution can use interactive browsers, headless Chrome, Sauce Labs or a user's Selenium Grid. Node installation is local through npm. Support follows a rolling window: older platforms may receive only best-effort support or may be dropped in a minor release, so teams with fixed legacy environments should plan upgrades carefully.

Who it's for

Choose Jasmine if you need one JavaScript-oriented framework for browser and Node.js specs, want minimal core dependencies, or need to customize runners, reporters, matchers and execution order. It is also a strong fit for teams that need both local developer runs and CI or remote-browser execution.

Look elsewhere if parameterized testing is central to your suite, if your environment must remain on an older platform indefinitely, or if your pipeline depends on karma-jasmine. That adapter is unmaintained and depends on jasmine-core 4.x, so newer Jasmine capabilities may not work through it.

Pros and cons

Pros

  • Framework-independent core: Jasmine does not depend on other JavaScript frameworks, and jasmine-core has no external dependencies.
  • Broad execution choices: Browser, Node, standalone, headless Chrome, Sauce Labs and Selenium Grid options cover varied workflows.
  • Adaptable suites: Custom runners, reporters, matchers, randomized order, parallel execution and built-in mocks provide practical control.
  • No licensing cost: The MIT-licensed project has no stated seat or usage limits.

Cons

  • No parameterized cases: Data-driven tests are not a built-in testing style.
  • Rolling platform support: Older environments may receive only best-effort support or lose support in minor releases.
  • Karma limitation: The unmaintained karma-jasmine adapter can block newer Jasmine features.

Alternatives

QUnit is another free, open-source JavaScript testing framework distributed through CDN, npm and Yarn; choose it when that distribution model or its Android, iOS and self-hosted reach fits better.

Kotest is free and separates its test framework, assertions library and property-testing projects, making it the alternative for teams wanting those components independently.

NUnit is a free, MIT-licensed option for projects targeting its supported platforms rather than JavaScript.

PHPUnit is free PHP tooling distributed as a PHAR or installed per project with Composer.

Vitest is a free, open-source alternative for Linux, macOS, Windows and web projects.

Pest is a free open-source PHP framework and requires PHP 8.4 or newer for Pest 5.

Rust libtest is free and built into Rust's standard-library test harness.

ScalaCheck is a free, BSD-3-Clause-licensed open-source library for Linux, macOS and Windows.

For broader comparisons, see Unit Testing Frameworks and JavaScript Testing Frameworks.

Verdict

Jasmine is a strong choice for developers who want a free, framework-independent JavaScript test system that runs in Node and browsers and can scale from standalone checks to CI and remote grids. Choose it for its dependency-light core and configurable runners; look elsewhere if parameterized cases, legacy platform stability or karma-jasmine compatibility is essential.

Alternatives to Jasmine

All alternatives
  1. 1QUnit logo

    QUnit

    Free planAndroidiOSWebAPI
    7.4Free plan
  2. 2NUnit logo

    NUnit

    Free planAndroidiOSAPILinux
    6.8Free plan
  3. 3

    Kotest

    Free planAndroidiOSWebLinux
    6.7Free plan
  4. 4PHPUnit logo

    PHPUnit

    Free planLinuxmacOSSelf-hostedWindows
    6.6Free plan
  5. 5Vitest logo

    Vitest

    Free planWebLinuxmacOSWindows
    6.6Free plan
  6. 6Boost.Test logo

    Boost.Test

    Free planLinuxWindows
    6.5Free plan