How to write simple Jest preset

304 Views Asked by At

How to write own Jest preset with common beforeAll and afterAll?

I'm quite confused, seems that there is no related documentation.

1

There are 1 best solutions below

0
On

There is the environment that you can extend this way:

JEST config:

module.exports = {
    testEnvironment: './suites/future/jest.myEnv.js',
};

The jest.myEnv.js:

const NodeEnvironment = require('jest-environment-node');

const start = async () => {
    console.log('START');
};

const stop = async () => {
    console.log('STOP');
};

class TestEnvironment extends NodeEnvironment {
    constructor(config) {
        super(config);
    }

    async setup() {
        await super.setup();
        await start();
    }

    async teardown() {
        await stop();
        await super.teardown();
    }

    runScript(script) {
        return super.runScript(script);
    }
}

module.exports = TestEnvironment;