CheckOps home

Tools directory

J

CheckOps

Jasmine

Jasmine is a long-established, MIT-licensed behaviour-driven JavaScript testing framework for browsers and Node.js, with built-in assertions, spies and asynchronous support and no required dependencies.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Jasmine is a behaviour-driven development framework for testing JavaScript code, describing itself as simple testing for browsers and Node.js. It has been one of the foundational JavaScript test frameworks for more than a decade and was long the default test framework in Angular CLI projects (with the Karma runner), so it remains common in many existing suites.

Unlike Mocha, Jasmine ships everything in one package: describe/it blocks, a rich set of matchers through expect, spies for stubbing and tracking calls, clock mocking with jasmine.clock(), and async support for promises and async functions. Tests run in Node.js with the jasmine package or in browsers through jasmine-browser-runner. The latest major release, v7.0.1, was published on 15 August 2026.

The source code is at jasmine/jasmine on GitHub under the MIT licence, with about 15,800 stars; the most recent commit was on 7 November 2026.

Features

  1. All-in-one: Runner, assertions, spies and clock mocking in one package.
  2. Node and browser: jasmine for Node.js and jasmine-browser-runner for real browsers.
  3. Custom matchers: Extend expect with domain-specific matchers.
  4. Random order: Specs run in random order by default to expose hidden dependencies.

Pros

  1. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 7 November 2026.
  3. Community: About 15,800 GitHub stars.

Cons

  1. Fewer modern conveniences: No built-in snapshot testing or module mocking like Jest or Vitest.
  2. Smaller plugin ecosystem: Less community activity than Jest or Vitest today.
npm install --save-dev jasmine
npx jasmine init
describe("cart", () => {
  it("totals items", () => {
    const cart = new Cart([{ price: 5 }, { price: 7 }]);
    expect(cart.total()).toBe(12);
  });

  it("logs checkout", () => {
    const logger = jasmine.createSpyObj("logger", ["info"]);
    new Cart([], logger).checkout();
    expect(logger.info).toHaveBeenCalledWith("checkout");
  });
});
npx jasmine

Resources:

Pricing

Jasmine is free and open source under the MIT licence.

  1. Teams maintaining existing Jasmine or Angular suites.
  2. Projects wanting a dependency-free, all-in-one framework for Node.js and browsers.

Conclusion

Jasmine remains a dependable, self-contained BDD framework; new projects often pick Vitest or Jest, but Jasmine is still a solid, actively maintained choice.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Jasmine side by side.