Tengo la siguiente prueba que funciona.
import React from 'react'; import { mount } from 'enzyme'; import MyLogin from '../../src/components/MyLogin'; const mockContent = { data: { config: { myImage: 'mock_image', }, }, }; jest.mock('../../src/utils/config', () => ({ Consumer: ({ children }) => children(mockContent), })); describe('Component Test', () => { beforeEach(() => { jest.resetModules(); }); const render = () => mount( <MyLogin /> ); it('should render the component', () => { const renderedModule = render(); expect(renderedModule).toMatchSnapshot(); }); }); Pero deseo agregar otra prueba en la que cambien los valores dentro del contenido simulado.
He agregado una clave isValid .
Por lo tanto, probé lo siguiente en el que estoy tratando de anular el simulacro solo para esta prueba.
Pero esto no funciona. Sin errores. Ningún efecto de este simulacro.
Si hubiera agregado esta nueva clave isValid en el simulacro anterior fuera de la prueba, tiene el efecto deseado. (No puedo hacer eso, por supuesto, porque eso afectaría mis otras pruebas)
¿Podría obtener ayuda con esto por favor?
describe('Component Test', () => { // other tests it('my new test', () => { // attempting to override the above mock. const myNewMockContent = { data: { config: { myImage: 'mock_image_2', isValid: true, }, }, }; jest.mock('../../src/utils/config', () => ({ Consumer: ({ children }) => children(myNewMockContent), })); const renderedModule = render(); expect(renderedModule).toMatchSnapshot(); }); });