@suchipi/jasmine-mini
TypeScript icon, indicating that this package has built-in type declarations

3.2.2 • Public • Published

@suchipi/jasmine-mini

Fork of jasmine's npm package that strips it down so it can run in non-browser, non-node environments.

It removes all the file and CLI-related parts of the jasmine node API, and also changes it so that it doesn't pollute the global with jasmine's public interface. The resulting bundle (bundle.js) should run in any JavaScript environment with the following defined:

  • console.log
  • setTimeout
  • clearTimeout
  • setInterval
  • clearInteval

Usage

// Either require "@suchipi/jasmine-mini" with your CommonJS-compatible
// module loader, or run the file `bundle.js` found in the root of this repo.
// It's a UMD bundle that defines the global `Jasmine` when CJS/AMD aren't
// available.

const j = new Jasmine();

const {
  describe,
  it,
  expect
  // etc. stuff you would normally find on the global
} = j.getInterface();

describe("thing", () => {
  it("works", () => {
    expect(2 + 2).toBe(4);
  });
});

j.execute();

Usage (Promise wrapper)

This package also has a Promise wrapper you can use instead of the node interface, which works like this:

const output = await Jasmine.run(({ describe, it, expect }) => {
  describe("thing", () => {
    it("works", () => {
      expect(2 + 2).toBe(4);
    });
  });
});

If the tests fail, the Promise will be rejected, and the output will be in the Error message.

Using the TypeScript types

The TypeScript types for this package depend on the types for jasmine. If you want the types to work, run:

$ npm install -D @types/jasmine@3.2.0

Bumping jasmine-core

This bundle is compiled with jasmine-core@3.2.1. If you want to compile with a different version of jasmine-core, follow these steps:

  • Clone the repo
  • Bump the jasmine-core dependency
  • Run npm install
  • Run npm run build

And the bundle.js file will be updated.

Readme

Keywords

Package Sidebar

Install

npm i @suchipi/jasmine-mini

Weekly Downloads

49

Version

3.2.2

License

MIT

Unpacked Size

242 kB

Total Files

12

Last publish

Collaborators

  • suchipi