2017-06-12 10 views
5

तो redux की दुकान के अपने कार्यान्वयन नहीं सबसे अच्छा और जेस्ट की मेरी जानकारी कम से कम करने के लिए कोई भी है हो सकता है ..जेस्ट नकली redux-स्टोर getState() redux-नकली स्टोर के साथ मॉड्यूल में इस्तेमाल किया

मैं तीन फ़ाइलों के होते हैं जो ...

  1. एक मॉड्यूल
  2. एक प्रतिक्रिया घटक है
  3. (एक सामान्य) की दुकान, डिफ़ॉल्ट रूप में निर्यात

मेरे परीक्षण फ़ाइल इस तरह दिखता है:

// file.test.js 


jest.mock('store',() => jest.fn()) 

// external 
import React from 'react' 
import configureStore from 'redux-mock-store' 

// internal 
import Component from 'components/Component' 
import store from 'store' 

describe('Test My Component',() => { 
    const mockStore = configureStore() 

    it ('should equal true',() => { 
     const initialState = { active: true } 

     store.mockImplementation(() => mockStore(initialState)) 

     expect(store.getState().active).toBe(true) 
    }) 
}); 

कारण है कि मैं दुकान मजाक कर रहा हूं क्योंकि अंदर <Component /> मैं एक मॉड्यूल जो अपने आप में एक ही store आयात करता है और कुछ ही समारोह है कि store.getState() का इस्तेमाल कर रही रहे हैं रखती उपयोग कर रहा हूँ। ..

तो

TypeError: _store2.default.getState is not a function

मैं इस के आसपास मॉड्यूल कॉल मजाक से मिला क्या इस रिटर्न है (डब्ल्यू जिसका उपयोग <Component /> द्वारा किया जाता है), लेकिन मुझे लगता है कि मुझे ऐसा करने में सक्षम होना चाहिए, क्योंकि मेरे पास अलग-अलग प्रारंभिक राज्य हैं जिन्हें मैं कोशिश करना चाहता हूं और सभी मॉड्यूल पर निर्भर नहीं हैं।

यह मेरा इतने पर बहुत पहली पोस्ट है, मुझे पता है मैं कुछ भी स्पष्ट करना चाहिए करते हैं!

उत्तर

0

स्टोर आयात न करें। हम स्टोर को मॉक करना चाहते हैं:

const store = mockStore(initialState);

संबंधित मुद्दे