我正在Redux应用程序尝试使用Jasmine在ES6默认导出的函数上创建一个间谍.我尝试了一些不同的方式来监视该功能,包括使用通配符导入来访问导入的“默认”属性,但我迄今没有尝试过的工作.下面是一个例子,我想在widget功能上测试widgets.js和间谍.有没有办法实现这一点,而不必改变从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; } }