开玩笑无法加载setupFiles

时间:2020-06-20 18:47:32

标签: javascript reactjs testing jestjs

目标:模拟本地存储以在Jest中进行测试。

问题:Jest无法加载localStorage模拟文件,我正在获取setItem 未定义,因为未根据Jest定义其localStorage。

但是,我可以通过简单地将其导入到每个测试文件中来绕过此问题,但这似乎非常麻烦且并非最佳选择。请帮助我,以便使这段代码变得更好。

我已经使用 create-react-app

创建了react应用

if (!window.localStorage) {
    window.localStorage = {}
    Object.assign(window.localStorage, {
      removeItem: function removeItem(key) {
        delete this[key]
      }.bind(window.localStorage),
      setItem: function setItem(key, val) {
        this[key] = String(val)
      }.bind(window.localStorage),
      getItem: function getItem(key) {
        return this[key]
      }.bind(window.localStorage),
    })
  }

这是具有Jest配置的package.json文件。

"jest": {
  "setupFiles": [
    "jest-canvas-mock",
    "./test/setup-test-framework"
  ]
}

0 个答案:

没有答案