Jasmine
jasmine.github.io
What it is
Jasmine is a free, open-source framework for testing JavaScript code in browsers and Node.js. Tests use JavaScript’s describe/it structure and expect matchers. The jasmine-core package has no external dependencies, and the framework does not rely on other JavaScript frameworks. For Node, developers can install the package locally with npm and run 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 also load CommonJS modules. The jasmine-browser-runner supports interactive browser runs and CI execution with headless Chrome or Sauce Labs. It can also connect to Sauce Labs or a user’s own Selenium Grid as a remote browser grid. Runners can be configured, reporters and matchers customized, and spec order randomized. The project lists JavaScript and TypeScript support, parallel execution and built-in mocks. Browser and Node compatibility follows a rolling window, so older platforms may receive best-effort support or be dropped in minor releases. The FAQ notes that the unmaintained karma-jasmine adapter depends on jasmine-core 4.x, which can limit access to newer Jasmine features. The project uses the MIT License and directs users to GitHub for issues and contributions.
Spec sheet
- Purpose
- Jasmine is a framework for testing JavaScript code that runs in browsers and Node.js.Read 9 Oct 2026 · jasmine.github.io
- Integrations
- The browser runner can use Sauce Labs or a user's own Selenium Grid as a remote browser grid.Read 9 Oct 2026 · jasmine.github.io
- Support
- The project directs users to its GitHub repository to report issues and contribute.Read 9 Oct 2026 · github.com
- License
- The Jasmine project repository states that the software is licensed under the MIT License.Read 9 Oct 2026 · github.com
- Browser runner
- The jasmine-browser-runner package can run specs interactively in browsers or in CI using headless Chrome or Sauce Labs.Read 9 Oct 2026 · jasmine.github.io
- 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.Read 9 Oct 2026 · jasmine.github.io
- Customization
- Jasmine supports configurable runners, custom reporters, custom matchers, and randomized spec order.Read 9 Oct 2026 · jasmine.github.io
- Dependencies
- The jasmine-core package has no external dependencies, and Jasmine does not depend on other JavaScript frameworks.Read 9 Oct 2026 · jasmine.github.io
- Module support
- Jasmine supports ES modules, and its Node setup can also load CommonJS modules.Read 9 Oct 2026 · jasmine.github.io
- Node installation
- The Node package can be installed locally with npm and invoked using npx jasmine.Read 9 Oct 2026 · jasmine.github.io
- Standalone option
- The standalone distribution runs specs in a web browser without other tools, and it does not require a web server.Read 9 Oct 2026 · jasmine.github.io
- Testing style
- Jasmine specs use JavaScript with a describe/it structure and expect matchers.Read 9 Oct 2026 · jasmine.github.io
- 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.Read 9 Oct 2026 · jasmine.github.io
Plans and prices
Strong points and limits
Strong points
- No external dependencies in jasmine-core
- Standalone browser runs need no web server
- Supports ES modules and CommonJS in Node
- Custom reporters and matchers are supported
- MIT License
Limits
- Older platforms may lose support in minor releases
- The unmaintained karma-jasmine adapter can limit newer features
Who it suits
Jasmine suits developers who need to test JavaScript in browsers or Node.js and want configurable runners and matchers. It can also fit teams running browser specs interactively or in CI.
Verdict
Jasmine provides browser and Node.js testing options with a flexible runner and no external dependencies in jasmine-core. Check platform support and the karma-jasmine compatibility caveat when choosing an integration path.
Where Specifiction places it
- JavaScript Testing Frameworks#5 of 238.0
- Unit Testing#11 of 327.9
- Unit Testing Frameworks#14 of 327.9