- Home
- Unit Testing
- Jasmine
Jasmine
What it is
Jasmine is a free, open-source framework for testing JavaScript code in browsers and Node.js. Specs use a describe-and-it structure with expect matchers, and jasmine-core has no external dependencies or reliance on another JavaScript framework. Node users can install it with npm and run it through npx jasmine. A standalone distribution runs browser specs without a web server or other tools. Jasmine supports ES modules, while its Node setup can also load CommonJS modules. jasmine-browser-runner runs specs interactively or in continuous integration with headless Chrome or Sauce Labs, and can connect to a Sauce Labs or user-owned Selenium Grid. Configurable runners, custom reporters, custom matchers, randomized order, parallel execution, and built-in mocks support varied test setups. JavaScript and TypeScript are supported. Browser and Node compatibility follows a rolling window, and older platforms may receive best-effort support or be dropped in minor releases. The project uses the MIT License.
For and against
For
- Free and open source
- No external jasmine-core dependencies
- Browser and Node.js support
- Custom reporters and matchers
- Standalone browser runner needs no server
Against
- Older platforms may lose support
- karma-jasmine adapter can limit newer features
The verdict
Jasmine provides a flexible JavaScript testing foundation across browsers and Node.js. Its rolling compatibility policy and the unmaintained karma-jasmine adapter are important considerations for older setups.
Who it suits
It suits JavaScript and TypeScript developers who need browser or Node.js test runners, customizable matchers, and open-source tooling.
Plans and prices
Jasmine
No pricing or usage limits stated
Read 9 Oct 2026 · jasmine.github.io
On the record
- Browser runner
- The jasmine-browser-runner package can run specs interactively in browsers or in CI using headless Chrome or Sauce Labs.jasmine.github.io · read 9 Oct 2026
- 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.jasmine.github.io · read 9 Oct 2026
- Customization
- Jasmine supports configurable runners, custom reporters, custom matchers, and randomized spec order.jasmine.github.io · read 9 Oct 2026
- Dependencies
- The jasmine-core package has no external dependencies, and Jasmine does not depend on other JavaScript frameworks.jasmine.github.io · read 9 Oct 2026
- Integrations
- The browser runner can use Sauce Labs or a user's own Selenium Grid as a remote browser grid.jasmine.github.io · read 9 Oct 2026
- License
- The Jasmine project repository states that the software is licensed under the MIT License.github.com · read 9 Oct 2026
- Module support
- Jasmine supports ES modules, and its Node setup can also load CommonJS modules.jasmine.github.io · read 9 Oct 2026
- Node installation
- The Node package can be installed locally with npm and invoked using npx jasmine.jasmine.github.io · read 9 Oct 2026
- Purpose
- Jasmine is a framework for testing JavaScript code that runs in browsers and Node.js.jasmine.github.io · read 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.jasmine.github.io · read 9 Oct 2026
- Support
- The project directs users to its GitHub repository to report issues and contribute.github.com · read 9 Oct 2026
- Testing style
- Jasmine specs use JavaScript with a describe/it structure and expect matchers.jasmine.github.io · read 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.jasmine.github.io · read 9 Oct 2026