Estoy tratando de simular la parte exportada predeterminada de un módulo, que se ve así:
// test.js const testVariable = { blabla: { test: 'testContent' } }; export const anotherNotNeedToMockVariable = {}; export default testVariable; La variable que realmente necesito simular es test .
Esta implementación me da error: Cannot spy the default property because it is not a function
// toTestModule.js import test from './test' export const toTestModuleFunc = async () => { console.log('variable mocked', test.blabla.test); return test.blabla.test; }; import * as test from '../test' import {toTestModuleFunc} from '../toTestModule' describe('test', () => { it('with jest.mock()', async () => { const newValue = 'newValue'; jest.mock('../test', () => ({ blabla: { test: newValue } })); const value = await toTestModuleFunc(); // this fails expect(value).toEqual(newValue); }); it('with jest.spyOn()', async () => { const newValue = 'newValue'; jest.spyOn(test, 'default', 'get').mockImplementation(() => { return ({ blabla: { test: newValue } }); }); const value = await toTestModuleFunc(); // this fails expect(value).toEqual(newValue); }); }); Si cambio jest.spyOn(test, 'default') a jest.spyOn(test, 'default', 'get') me da otro error: Property default does not have access type get
Traté de usar la función jest.mock() , pero no funciona porque nunca devuelve el valor simulado.
Realmente apreciaría cualquier ayuda.