jsApiReporter was initially added as part of the pre-1.0 Ruby based browser runner. It looks like it was designed to resolve a race condition betweeen jasmine-core's startup in the browser and the Ruby runner's startup. Modern runners handle that either by buffering messages in a custom reporter (e.g. jasmine-browser-runner's BatchReporter) or by calling env.execute() after a communication channel has been set up (e.g. the old Jasmine ruby gem). In any other context, a custom reporter is easier to use than jsApiReporter because it doesn't require polling. Adding jsApiReporter to the env imposes small but measurable penalties in time and space, both of which are proportional to the size of the test suite. Other than jasmine-py and Testdouble's jasmine-rails gem, neither of which ever supported jasmine-core 4 or later, I can find scant evidence of interest and no evidence of usage after about 2012.
A JavaScript Testing Framework
Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
Upgrading from Jasmine 4.x? Check out the upgrade guide.
Contributing
Please read the contributors' guide.
Installation
There are several different ways to install Jasmine, depending on your environment and how you'd like to use it. See the Getting Started page for details.
Usage
See the documentation site, particularly the Your First Suite tutorial for information on writing specs, and the FAQ.
Supported environments
Jasmine tests itself across popular browsers (Safari, Chrome, Firefox, and Microsoft Edge) as well as Node.
| Environment | Supported versions |
|---|---|
| Node | 20, 22, 24 |
| Safari | 16*, 17*, 26* |
| Chrome | Evergreen |
| Firefox | Evergreen, 102*, 115*, 128*, 140 |
| Edge | Evergreen |
For evergreen browsers, each version of Jasmine is tested against the version of the browser that is available to us at the time of release. Other browsers, as well as older & newer versions of some supported browsers, are likely to work. However, Jasmine isn't tested against them and they aren't actively supported.
* Supported on a best-effort basis. Support for these versions may be dropped if it becomes impractical, and bugs affecting only these versions may not be treated as release blockers.
To find out what environments work with a particular Jasmine release, see the release notes.
Maintainers
Maintainers Emeritus
- Davis W. Frank
- Rajan Agaskar
- Greg Cobb
- Chris Amavisca
- Christian Williams
- Sheel Choksi
Copyright (c) 2008-2019 Pivotal Labs
Copyright (c) 2008-2025 The Jasmine developers
This software is licensed under the MIT License.