已经在文档就绪状态下调用了localStorage.getItem的单元测试?

问题描述 投票:0回答:1

我有以下代码,从而在准备好文档时检查localStorage项。如果尚未设置localStorage项,则将其设置为:>

$(document).ready(function () {             
   checkIfLoginTracked();                
})

function checkIfLoginTracked() {
   if (localStorage.getItem("loginHasBeenTracked") === null) {
         localStorage.setItem("loginHasBeenTracked", true);
   }
}

但是,我很难知道如何最好地对此进行单元测试?

[我正在使用Qunit和Sinon,到目前为止,我们一直在测试块中尝试以下操作(监视本地存储方法并检查是否使用正确的参数调用了它]

var spy = sinon.spy(window.localStorage, "getItem");
assert.ok(spy.calledWith("loginHasBeenTracked", true));

这返回假,说没有被调用。我不知道我是否遗漏了一些明显的东西,或者可能是因为document.ready上的测试困难?谁能指出我正确的方向?

我有以下代码,从而在准备好文档时检查localStorage项。如果尚未设置localStorage项,则设置为:$(document).ready(function(){...

javascript dom storage sinon qunit
1个回答
0
投票

这是单元测试解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.