JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何使用Jasmine监视通过ES6默认导出导入的功能?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在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 { orderedR_365_11845@ap } from 'immutable';
import { CREATE_ROOM } from 'actions';
import widget from './widget';

const initialState = orderedR_365_11845@ap();

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;
  }
}

解决方法

你说你尝试导入通配符和默认监视?这种做法有什么问题?我刚刚遇到这个问题,这样做为我解决了:
import * as widget from './widget';

describe('widget spec',() => {
    beforeEach(() => {
        spyOn(widget,'default');
    });
});

大佬总结

以上是大佬教程为你收集整理的javascript – 如何使用Jasmine监视通过ES6默认导出导入的功能?全部内容,希望文章能够帮你解决javascript – 如何使用Jasmine监视通过ES6默认导出导入的功能?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。