私は、Reduxアプリケーション&で、ES6のデフォルトエクスポート機能でJasmineを使用してスパイを作成しようとしています。私はワイルドカードのインポートを使ってインポートの 'デフォルト'プロパティにアクセスすることを含むいくつかの異なる方法で関数を偵察しようとしましたが、これまでに何も試したことはありませんでした。以下は、私がwidgets.js
をテストし、ウィジェット機能についてスパイしたい場合の例です。関数をエクスポートする方法を変更せずにこれを達成する方法はありますか?widget.js
?Jasmineを使用して、ES6のデフォルトエクスポートを介してインポートされる関数をスパイする方法を教えてください。
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;
}
}
あなたは名前付きエクスポートで何をしたいのですか?実際にはそれほど違いはありません。 – Bergi
いいえ、私はしません。私はこのプラグインについて言われましたが、正しく動作させることができず、オブジェクトのメソッドとして関数をエクスポートする必要があるかもしれないと感じました。 – evkline