javascript - unit - writing test redux



Dépendance moqueuse du module/fonction à tester en Javascript (1)

En utilisant la plaisanterie comme @Mikhail a suggéré que j'ai résolu comme ceci:

// test/something-test.js

import {myFetch} from '../_mocks_/utilities';

jest.doMock('modules/utilities', () =>({
    myFetch: myFetch
}));


const {fetchSomething} = require('modules/something');

describe('#fetchSomething', ...

Ici, fetchSomething est une fonction en cours de test qui dépend de la fonction myFetch de 'modules/utilities' . Je me moque de cette dépendance avec myFetch de '../_mocks_/utilities' .

Disons que je veux tester ce qui suit par exemple:

import {fetchResourceFromBackend} from './myfetch';

const fetchSomething = (dispatch) => {

  dispatch(2);

  return fetchResourceFromBackend('/api/abc').then( result => {
    dispatch(3);
  });
};

fetchResourceFromBackend est une fonction compliquée. Comment puis-je tester cela, et ne pas être affecté par le code fetchResourceFromBackend (tout modèle ou recommandations d'outils, j'utilise sinon et sinon mais ne peut pas réaliser)?

Est-ce que ma seule option est de fournir fetchResourceFromBackend en argument à fetchSomething pour que je puisse le fetchSomething ?





redux