【发布时间】:2017-12-21 14:14:04
【问题描述】:
我想为 ReactJS 中使用会话存储的一项操作编写开玩笑的单元测试用例,但我收到未定义 sessionStorage 的错误。
有什么解决办法吗?
【问题讨论】:
我想为 ReactJS 中使用会话存储的一项操作编写开玩笑的单元测试用例,但我收到未定义 sessionStorage 的错误。
有什么解决办法吗?
【问题讨论】:
要解决这个问题,您需要模拟会话存储。
一个简单的解决方案是使用插件,例如 mock-local-storage 包(灵感来自 StackOverflow 答案)。它为无头单元测试模拟 localStorage(和 sessionStorage)。只需安装它:
npm install mock-local-storage --save-dev
然后在你,package.json“jest”配置下添加:
...
"jest": {
...
"setupTestFrameworkScriptFile": "mock-local-storage"
}
...
这将为所有测试用例添加模拟的localStorage 和sessionStorage,您不需要更改每个文件。
除了使用 npm 包之外,您还可以将代码放在一个文件中,并在 setupTestFrameworkScriptFile 下指定文件位置。您的代码应该类似于this one。
这是related thread。 the solution 的积分。
【讨论】: