Tengo los siguientes archivos:
función de muestra.ts:
export default (x: number) => x * 2;archivo de prueba:
import sampleFunction from './sampleFunction'; export default () => { const n = sampleFunction(12); return n - 4; };archivo de prueba.prueba.ts:
import testFile from './testFile'; const mockFn = jest.fn(); jest.mock('./sampleFunction', () => ({ __esModule: true, default: mockFn, })); test('sample test', () => { testFile(); expect(mockFn).toBeCalled(); }); Cuando ejecuto testFile.test.ts , aparece el siguiente error:
TypeError: (0 , _sampleFunction).default is not a function ¿Cómo puedo sampleFunction.ts con Jest cuando tiene una función exportada predeterminada?
Al simular una exportación predeterminada, debe pasar tanto default como __esModule para bromear:
const mockFn = jest.fn(); jest.mock("./sampleFunction", () => ({ __esModule: true, default: mockFn, }))