javascript - 如何计算对象属性已更改的次数

标签 javascript jasmine

我正在创建一个单元测试来检查 window.location.hash 已更改了多少次。

it("checking location.hash change", () => {
  myLink.click();
  // expecting window.location.hash is changed only one time.
});

如何监视 Jasmine 中的对象属性?

最佳答案

您可以使用 window.onhashchange 事件来增加每次更改的计数器...这对您有用吗?

var changes = 0;
window.onhashchange = x=> changes++;

对于其他对象/属性,您可以使用相同的原则,使用 GETTERS 或 PROXIES。 另一种选择是使用一些允许您监视变量的库。一种选择可能是 WatchJS

关于javascript - 如何计算对象属性已更改的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246844/

相关文章:

javascript - 如何在 Reactjs 中禁用按钮 onclick?

javascript - 如何在我的应用程序中重构这些 javascript if else 条件语句?

javascript - 在 jasmine 指令 Controller 中返回一个 promise

javascript - 如何使用 Protractor 搜索类、在类中查找 p 标签并验证其某些文本?

javascript - 如何使用正则表达式从字符串中去除 [a-z]/[a-z]/?

javascript - 为 ajax 请求编写 jQuery 回调

javascript - CSS3 幻灯片的输出已损坏且模糊

javascript - 如何让 Jasmine 的 spyOnProperty 工作?

angularjs - 如何监视 AngularJS 中的函数

angularjs - 当另一个元素等于 Protractor 和 Jasmine 的特定输入时,单击中继器内的一个元素