test - Burlarse de la dependencia del módulo/función bajo prueba en Javascript
redux-mock-store (1)
Digamos que quiero probar lo siguiente, por ejemplo:
import {fetchResourceFromBackend} from ''./myfetch'';
const fetchSomething = (dispatch) => {
dispatch(2);
return fetchResourceFromBackend(''/api/abc'').then( result => {
dispatch(3);
});
};
fetchResourceFromBackend es una función complicada. ¿Cómo puedo probar esto y no ser afectado por el código fetchResourceFromBackend (cualquier patrón o recomendación de herramienta, utilizo mocha y sinon pero no lo logro)?
¿Es mi única opción proporcionar fetchResourceFromBackend como argumento para fetchSomething para que pueda fetchSomething ?
Usando bromas como @Mikhail sugirió que resolví así:
// test/something-test.js
import {myFetch} from ''../_mocks_/utilities'';
jest.doMock(''modules/utilities'', () =>({
myFetch: myFetch
}));
const {fetchSomething} = require(''modules/something'');
describe(''#fetchSomething'', ...
Aquí fetchSomething es una función bajo prueba que tiene una dependencia interna en la función myFetch de ''modules/utilities'' . Me burlo de esa dependencia con myFetch desde ''../_mocks_/utilities'' .