Estoy tratando de escribir pruebas usando jest. La integración es una llamada que tiene una función privada llamada prueba. FuncTest la llama tratando de simular la implementación antes de cada una, sin embargo, la simulación no funciona y va a la función real "prueba". cuando pongo la tarea (integration['test']=mockFn;) dentro de "it" funciona perfectamente. ejemplo de código de trabajo:
describe('test', () => { const mockFn: jest.Mock = jest.fn(); beforeEach(async () => { const integration = new integrationTest(); }) afterEach(() => { jest.restoreAllMocks(); }); it('call mock implemntaion', async () => { integration['test']=mockFn; mockFn.mockImplementation(() => { throw new Error('error'); }); try { await integration.funcTest(); } catch (e) { expect(e).toBeInstanceOf(Error); } }); })ejemplo de código que no funciona:
describe('test', () => { const mockFn: jest.Mock = jest.fn(); beforeEach(async () => { const integration = new integrationTest(); integration['test']=mockFn; }) afterEach(() => { jest.restoreAllMocks(); }); it('call mock implemntaion', async () => { mockFn.mockImplementation(() => { throw new Error('error'); }); try { await integration.funcTest(); } catch (e) { expect(e).toBeInstanceOf(Error); } }); })porque pasa esto y como solucionarlo gracias