gpt4 book ai didi

javascript - Jasmine calls.length 和 callCount 未定义

转载 作者:IT王子 更新时间:2023-10-29 03:18:48 25 4
gpt4 key购买 nike

我正在尝试使用 Jasmine 测试我的 chrome 扩展程序但我无法让 calls.lengthcallCount 按预期运行。两种情况都返回 undefined

我已经包含了代码示例和规范。如果有帮助,这是其余代码:https://github.com/DruRly/kamikaze/tree/closeIdleTab

如何重现:

  • git clone https://github.com/DruRly/kamikaze/tree/closeIdleTab
  • cd 神风敢死队
  • 打开 SpecRunner.html

规范/kamikazeSpec.js

describe("kamikaze", function() {
describe("closeIdleTabs", function(){
it("calls closeIdleTab for each tab received", function(){
spyOn(kamikaze, 'closeIdleTab');

kamikaze.closeIdleTabs([1,2,3]);
expect(kamikaze.closeIdleTab.calls.length).toBe(3);
})
})
})

src/kamikaze.js

kamikaze = {
...

closeIdleTabs: function(tabs){
tabs.forEach(function(tab){
test.closeIdleTab(tab);
})
},

closeIdleTab: function(tab){
if(tabTimeStamps[tab.id]){
var secondsSinceUpdated = getSecondsSinceUpdated(tab.id)
if(secondsSinceUpdated > (minutesUntilIdle * 60)){
chrome.tabs.remove(tab.id)
}
}
},

...
}

最佳答案

Jasmine API 在 2.x 版本“系列”中发生了一些变化。
根据 latest docs 你应该使用 count() 方法:

expect(kamikaze.closeIdleTab.calls.count()).toBe(3);

我也用你的代码试过了,所有测试都成功通过了。

关于javascript - Jasmine calls.length 和 callCount 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com