Wie verwende ich Jasmine zu Spion auf eine Funktion, die importiert werden, über einen ES6 Standard-export?
Arbeite ich an einer Redux app & versucht zu erstellen, ein Spion mit Jasmin auf einem ES6 Standard exportierte Funktion. Ich habe versucht ein paar verschiedene Möglichkeiten der Spionage, auf die Funktion, einschließlich der Verwendung einer wildcard-importieren, um den Zugriff auf die "default" - Eigenschaft der import, aber nichts, was ich versucht habe hat funktioniert so weit. Unten ist ein Beispiel, wo würde ich testen wollen widgets.js
und Spion auf die widget-Funktion. Gibt es eine Möglichkeit, dies zu erreichen, ohne zu ändern, wie im Export die Funktion von widget.js
?
widget.js
import { Map } from 'immutable';
import { CREATE_WIDGET } from 'actions';
const initialState = Map({
id: undefined,
name: undefined
});
export default function widget(state=initialState, action) {
switch (action.type) {
case CREATE_WIDGET:
return state.update((widget) => widget.merge(action.widget));
default:
return state;
}
}
widgets.js
import { OrderedMap } from 'immutable';
import { CREATE_ROOM } from 'actions';
import widget from './widget';
const initialState = OrderedMap();
export default function widgets(state=initialState, action={}) {
switch (action.type) {
case CREATE_ROOM:
return state.set(action.widget.id, widget(undefined, action));
default:
return state;
}
}
- Sie haben eine Art, das zu tun, was Sie tun möchten, mit einem Namen exportieren? Sie sind nicht anders eigentlich.
- Nein, ich nicht. Mir wurde gesagt, über dieses plugin habe ich jedoch nicht in der Lage gewesen, um es richtig laufen und fühle mich wie ich können nur zu exportieren, die Funktion als eine Methode auf ein Objekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie sagen, Sie habe versucht, den Import der Platzhalter und die Spionage auf default? Was war das Problem mit diesem Ansatz? Ich lief in dieses problem, und wenn dies gelöst ist es für mich: