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.
InformationsquelleAutor evkline | 2015-12-06
Schreibe einen Kommentar