我試圖用Jasmine來測試我的Chrome擴展,但我無法使calls.length
和callCount
按預期運行。這兩種情況都會返回undefined
。Jasmine calls.length和callCount未定義
我已經包含了代碼示例和規範。下面的代碼的其餘部分,如果有幫助:https://github.com/DruRly/kamikaze/tree/closeIdleTab
如何重現:
git clone https://github.com/DruRly/kamikaze/tree/closeIdleTab
cd kamikaze
open 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)
}
}
},
...
}
10的問題的質量和格式。大多數人會在前兩行(字面上)後停止! (相關代碼,鏈接到完整的代碼和步驟來重現問題 - 我討厭這個事實很容易回答這個:)) – gkalpak
謝謝@ExpertSystem!感覺就像我瘋了一樣。我仍然可能會,但我也看着過時的文檔:) – Dru
如果回購仍然可供參考,這將是很好的。 – Brant