# myModule.js const testFunc = () => 'original value'; export const testFunc2 = () => 'original value 2'; expect default { testFunc, }
Способ 1: используйте mockReturnValue
для имитации возвращаемого значения.
# moModule.spec.js import myModule from './myModule'; describe('', () => { before(() => { myModule.testFunc = jest.fn().mockReturnValue('hello world!'); }); it('', () => { expect(myModule.testFunc()).toEqual('hello world!'); # pass }); });
Способ 2: используйте spyOn
и mockImplementation
для имитации возвращаемого значения.
# myModule.spec.js import myModule from './myModule'; describe('', () => { before(() => { jest .spyOn(myModule, 'testFunc') .mockImplementation(() => 'hello world'); }); it('', () => { expect(myModule.testFunc()).toEqual('hello world!'); # pass }); });
Way3: используйте jest.mock
для имитации конкретной функции модуля
# myModule.spec.js jest.mock('./myModule', () => { const module = jest.requireActual('./myModule'); return { ...module, testFunc2: () => 'HI! world', } }); import { testFunc, testFunc2 } from './myModule'; describe('', () => { it('', () => { expect(testFunc()).toEqual('original value'); # pass expect(testFunc2()).toEqual('HI! world'); # pass }); });