reactjs - js-cookie enzyme 测试在测试 cookie.set 函数时失败

标签 reactjs js-cookie

我正在尝试对 js-cookie 进行单元测试 我的代码是这样的

import Cookie from 'js-cookie'

onChange (e) {
    Cookie.set('locale', e.target.value)
    window.location.reload()
  }

对于单元测试,我正在这样做

describe('LocaleDropDown', () => {
  const handleLocaleChange = sinon.spy()
  const Cookie = sinon.spy(Cookie,'set')

  it("when simulating a change, Cookie.set should be called", () => {
    const wrapper = shallow(<LocaleDropDown onChange = {handleLocaleChange}/>)
    wrapper.find('select').simulate('change', { target: { value: 'en'}})
    expect(Cookie.set.calledOnce).toBe(true)
  });

})

它失败说ReferenceError:Cookie未定义

我应该如何测试 js-cookie

最佳答案

您还必须在单元测试中导入该库,将此行添加到您的测试中就可以了。

import Cookie from 'js-cookie'

关于reactjs - js-cookie enzyme 测试在测试 cookie.set 函数时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47821058/

相关文章:

reactjs - React 应用程序由于 16.9 中的 useEffect hook 而卡住,而在 16.8 中工作正常

javascript - 使用 JS Cookie 在 x 页面 View 后显示模态?

javascript - Cookie 返回的格式可能错误

javascript - 物化选择元素上没有 "onChange"事件

javascript - react : Is it ok to pass a component to another component through the props?

javascript - Event.target.value 在我的 React 代码中不起作用

reactjs - React redux - 将多个项目添加到状态树对象中的数组的问题

css - 在 Material UI 中使用 calc()

javascript - 链接 js-cookie : Uncaught ReferenceError: module is not defined 时出现 Firefox 和 Chrome 错误

javascript - 为什么我设置cookie时出现多个重复的条目?