javascript atscript जावास्क्रिप्ट में परीक्षण के तहत मॉड्यूल/फ़ंक्शन के निर्भरता को मचाना



जावास्क्रिप्ट इन भाषाओं से प्रेरित (1)

मान लें कि मैं उदाहरण के लिए निम्नलिखित का परीक्षण करना चाहता हूं:

import {fetchResourceFromBackend} from './myfetch';

const fetchSomething = (dispatch) => {

  dispatch(2);

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

fetchResourceFromBackend कुछ जटिल फ़ंक्शन है। मैं यह कैसे परीक्षण कर सकता हूँ, और fetchResourceFromBackend कोड (किसी भी पैटर्न या उपकरण की सिफारिशों, मैं mocha और sinon उपयोग करें लेकिन प्राप्त नहीं कर सकते हैं) से प्रभावित नहीं किया जा सकता है?

क्या मेरा एकमात्र विकल्प है fetchResourceFromBackend को fetchResourceFromBackend के लिए एक तर्क के रूप में प्रदान करने के लिए fetchSomething तो मैं इसे नकली कर सकता हूँ?

https://code.i-harness.com


@ मिखाइल के रूप में मजाक का प्रयोग करने का सुझाव दिया मैंने इस तरह हल किया:

// test/something-test.js

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

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


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

describe('#fetchSomething', ...

यहां fetchSomething कुछ परीक्षण के तहत कार्य किया जाता है जिसमें 'modules/utilities' myFetch फ़ंक्शन 'modules/utilities' पर आंतरिक निर्भरता 'modules/utilities' मैं '../_mocks_/utilities' से myFetch साथ निर्भरता का नकली हूँ।





redux