jest-mock-extended
jest-mock-extended copied to clipboard
Doesn't work if injectGlobals is false
In our project we do not want to enable injection of globals such as test
, describe
, etc.
See https://jestjs.io/docs/cli#--injectglobals
If injectGlobals is set to false, jest-mock-extended doesn't work:
jest is not defined
ReferenceError: jest is not defined
at calledWithFn (<userdir>\node_modules\jest-mock-extended\lib\CalledWithFn.js:25:16)
at Object.get (<userdir>\node_modules\jest-mock-extended\lib\Mock.js:90:45)
at mockReset (<userdir>\backend\node_modules\jest-mock-extended\lib\Mock.js:42:17)
The issue is that jest-mock-extended is relying on the global "jest" object to exist.
I tried explicitly adding
import { jest } from '@jest/globals';
but jest-mock-extended uses types from @types/jest which provides different definitions than the ones returned by @jest/globals.
It makes a lot of sense for this library to move from @types/jest
to @jest/globals
+ make @jest/globals
a peer dependency.
The only challenge seems to be the jest.Mock
type that changed interface, so this one requires some library changes.
Any reason the fix PR can't be merged? Also affects running with eg. bun