是否有任何库可以模拟 localStorage
?
我一直在使用 Sinon.JS 进行我的大部分其他 javascript 模拟,并且发现它真的很棒。
我的初始测试表明 localStorage 拒绝在 firefox (sadface) 中分配,所以我可能需要一些技巧来解决这个问题:/
我现在的选择(如我所见)如下:
- 创建我所有代码都使用的包装函数并模拟它们
- 为 localStorage 创建某种(可能很复杂)状态管理(测试前的 localStorage 快照,清理恢复快照)。
??????
您如何看待这些方法?您认为还有其他更好的方法吗?无论哪种方式,我都会将我最终制作的结果“库”放在 github 上以实现开源。
原文由 anthony sottile 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是使用 Jasmine 模拟它的简单方法:
如果您想在所有测试中模拟本地存储,请在测试的全局范围内声明上面显示的
beforeEach()
函数(通常的位置是 specHelper.js 脚本)。