ReferenceError:在jest单元测试用例

时间:2017-12-21 14:14:05

标签: reactjs jest

我想在ReactJS中为一个操作编写jest单元测试用例,该操作正在使用会话存储,但我收到的错误是sessionStorage未定义。

任何解决方案如何处理?

1 个答案:

答案 0 :(得分:6)

要解决此问题,您需要模拟会话存储。

一个简单的解决方案是使用插件,例如 mock-local-storage 包(受StackOverflow答案的启发)。它模仿localStorage(和sessionStorage)进行无头单元测试。只需安装它:

npm install mock-local-storage --save-dev

然后在你身上,在“jest”配置下package.json添加:

...
"jest": {
  ...
  "setupTestFrameworkScriptFile": "mock-local-storage"
}
...

这将为所有测试用例添加模拟localStoragesessionStorage,您不需要在每个文件中进行更改。

您也可以将代码放在文件中,并在setupTestFrameworkScriptFile下指定文件位置,而不是使用npm包。您的代码应与this one类似。

这是一个related threadthe solution的积分。