2017-06-12 4 views
5

Also meine Umsetzung des Redux-Store ist vielleicht nicht die beste und mein Wissen über Jest minimal-to-none ..Jest Mock redux-store getState() verwendet, in Modul mit redux-Mock-Speicher

ich habe drei Dateien, die von ...

  • A Komponente Reagieren
  • Die (a normal) zu speichern, exportiert als Standard
    1. ein Modul bestehtMeine Testdatei sieht wie folgt aus:

      // 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) 
          }) 
      }); 
      

      Der Grund, warum ich Speicher bin verspotten, weil innerhalb <Component /> ich ein Modul bin mit der sich die gleiche store importiert und hält einige Funktion, die Verwendung von store.getState() machen werden. ..

      Also das, was zurückgibt, ist

      TypeError: _store2.default.getState is not a function

      ich um dieses durch spöttische das Modul Anruf erhalten hat (w hich wird von der <Component />) stattdessen verwendet, aber ich fühle mich wie ich "sollte" in der Lage, dies zu tun, da ich verschiedene Ausgangszustände habe ich versuchen möchte und nicht alle sind abhängig von dem Modul.

      Dies ist mein allererstes Post auf SO, lassen Sie mich wissen, wenn ich etwas klären sollte!

    Antwort

    0

    Importieren Sie das Geschäft nicht. Wir wollen den Laden spotten:

    const store = mockStore(initialState);