Jasmine vs QUnit
Jasmine
jasmine.github.ioQUnit
qunitjs.comSide by side
| Figure | Jasmine | QUnit |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 8.0 (#5) | 8.5 (#2) |
| Spec score · Unit Testing | 7.9 (#11) | 8.4 (#3) |
| Spec score · Unit Testing Frameworks | 7.9 (#14) | 8.3 (#6) |
| Browser runner | The jasmine-browser-runner package can run specs interactively in browsers or in CI using headless Chrome or Sauce Labs. | The browser runner reports test results and resets fixture markup after each test. |
| 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. | The compatibility guide lists Node.js 18+ for QUnit 3’s ESM version. |
| Integrations | The browser runner can use Sauce Labs or a user's own Selenium Grid as a remote browser grid. | Documented browser automation integrations include Karma, Web Test Runner, Testem, WebdriverIO, and TestCafe. |
| Purpose | Jasmine is a framework for testing JavaScript code that runs in browsers and Node.js. | QUnit is a JavaScript testing framework originally developed for jQuery and now used by JavaScript libraries and applications. |
| Support | The project directs users to its GitHub repository to report issues and contribute. | The project directs users to GitHub issues, Stack Overflow, and its Matrix chat room for questions and help. |
Plans
In their own words
Jasmine
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.
QUnit
QUnit is a free JavaScript testing framework first developed for the jQuery project. It runs in web browsers, Node.js, SpiderMonkey and Web Worker threads, so developers can test code in different runtime environments. Its APIs allow custom assertions, test runners and reporters. Browser releases have no runtime dependencies, and the project describes Node.js setup as requiring zero configuration and browser setup as minimal. For DOM tests, QUnit resets fixture markup after each test. Its browser reporter presents results and can include expected and actual values, assertion details and failure stack traces. Developers can rerun selected tests or modules and prioritize previously failing tests. Guides cover modules, asynchronous tests, callbacks and assertions, while plugins can add or modify capabilities such as DOM assertions, themes and JUnit XML reports. QUnit integrates with browser automation tools including Karma, Web Test Runner, Testem and WebdriverIO’s QUnit service. QUnit 3.0 is distributed through the jQuery CDN and npm, and is also installable with Yarn. For its ESM version, the compatibility guide lists Node.js 18+ and specified browser versions.