Using Jasmine Without Global Functions

Normally, Jasmine creates globals like describe, it, and expect that you can use to write your specs. If you’re running Jasmine 4.0 or later via Node.js you also have the option of importing the Jasmine interface rather than having Jasmine create globals.

Initialization when using the jasmine NPM package

Pass {globals: false} to the Jasmine constructor:

const Jasmine = require('jasmine');
const runner = new Jasmine({globals: false});

Or, if running in parallel:

const ParallelRunner = require('jasmine/parallel');
const runner = new ParallelRunner({
    numWorkers: 3,
    globals: false
});

Initialization when using jasmine-core directly

Initialize jasmine-core by calling noGlobals instead of boot:

const jasmine = require('jasmine-core').noGlobals().jasmine;

Writing spec and helper files

In each of your spec and helper files, use the jasmine-core module’s noGlobals function to obtain the things that would normally be provided as globals:

const {describe, beforeEach, it, expect, jasmine} = require('jasmine-core').noGlobals();

Then write your specs as usual.