jest mock requires requireActual

Viewed 570

Its unclear for me why requireActual (3) is required to use the mock in __mocks__/global.ts (2) instead of global.ts (1) inside app.ts

enter image description here

According to the docs https://jestjs.io/docs/jest-object#jestrequireactualmodulename it says

Returns the actual module instead of a mock, bypassing all checks on whether the module should receive a mock implementation or not.

What are the mentioned checks?

// __mocks__/global.ts
export const globalConfig = {
    configA: "mockedConfigA"
};
export const globalLibA = jest.fn((msg) => {
    return msg + "+mockedLibA"
});
// app.ts
import { globalConfig, globalLibA } from "./global"

export const app = function (msg) {
    console.log("Called app")
    return globalLibA(msg);
}

export const globalConfigConfigA = globalConfig.configA;

Full source: https://github.com/Trenrod/testjest/tree/master/src

0 Answers
Related