2016-05-09 10 views
1

Ich habe versucht, einen Asynchron-Aktion Test zu tun aber nicht unglücklich :(Redux Async-Test mit Webpack + Karma + etc

der Test in Frage ist diese: https://github.com/persocon/destiny-weekly/blob/test/test/actions/index.spec.jsx

enter image description here

I‘ m immer diese Fehlermeldung:

1) in GET_OPTIONS füllen, wenn alle Optionen Abrufen Async Aktionen erfolgt und Defined ist kein Objekt (Bewertung 'store.dispatch (actions.getOptions()). dann') /Users/persocon/Projects/destiny-weekly/test/test.bundle.js:14669:42 < - webpack:///test/actions/index.spec.jsx:49:7

und ich habe keine Ahnung, was das bedeutet, wenn dies dann immer ich bin mehr verwirren zu helfen war.

UPDATE

hatte auf die Aktion selbst anstelle des .get $ holen zu implementieren war ich mit, aber jetzt bekomme ich einen neuen Fehler auf meine Aktion zeigt: v sogar auf dem Browser arbeiten:

1) in GET_OPTIONS füllen, wenn alle Optionen Abrufen Async Aktionen erfolgt Kann nicht variabel finden: holen /Users/persocon/Projects/destiny-weekly/test/test.bundle.js:42473:9 < - webpack: ///src/app/javascript/actions/index.jsx: 32: 9 /Users/persocon/Projects/destiny-weekly/test/test.bundle.js:15691:23 < - webpack: ///~/redux-thunk/lib/index.js: 12: 0 /Benutzer/persocon /Projects/destiny-weekly/test/test.bundle.js:14669:20 < - webpack: ///test/actions/index.spec.jsx: 48: 19

UPDATE 2 Aktion Code:

const setOptions = (result) => { 
return { 
    type: 'GET_OPTIONS', 
    options: result 
} 
} 

const getOptions =() => { 


return dispatch => { 
    dispatch(startLoading()) 
    return fetch('/api/selectActivity') 
      .then(response => response.json()) 
      .then(json => { 
       dispatch(doneLoading()); 
       json.unshift({advisorTypeCategory: "Selecione Uma Atividade", identifier: "", disabled: "disabled"}); 
       dispatch(setOptions(json)); 
      } 
     ) 
} 
} 
+0

Ich sehe einen Tippfehler hier: https://github.com/persocon/destiny-weekly/blob/test/test/actions/index.spec.jsx#L16 – 4m1r

+0

wo? Was? D: –

+0

ah, macht nichts, das ist etwas funky es6 auto-assign ich nicht vertraut bin. Sind Sie sonst sicher, dass Sie eine asynchrone Aktion versenden? – 4m1r

Antwort

1

Ya, die Async Action Creators Beispiel verwendet 'fetch', die ein bisschen erfunden ist, sollte aber in der Theorie funktionieren. Eine einfache Lösung könnte darin bestehen, es mit dieser isomorphic fetch library zu implementieren. Viel Glück!

1

die Lösung zu implementieren war Fetch die Isomorphische

Weil als 4m1r sagte, es war eine erfundene Funktion und konnte nicht gefunden werden.

Verwandte Themen