我对使用 window.location.href 的函数进行了一些单元测试——这并不理想,我宁愿将其传入,但在实现中是不可能的。我只是想知道是否可以在不实际导致我的测试运行程序页面实际转到 URL 的情况下模拟这个值。
window.location.href = "http://www.website.com?varName=foo";
expect(actions.paramToVar(test_Data)).toEqual("bar");
我在我的单元测试框架中使用茉莉花。
原文由 wmitchell 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要模拟本地上下文并创建自己的版本
window
和window.location
对象如果您使用
with
那么所有变量(包括window
!)将首先从上下文对象中查找,如果不存在则从实际上下文中查找。