크롬 확장을 Jasmine으로 테스트하려고하는데 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 것이다. 대부분의 사람들은 처음 2 줄 (문자 그대로) 후에 멈추었을 것입니다! (관련 코드, 전체 코드에 대한 링크 및 문제를 재현하는 단계 -이 답변에 매우 쉽다는 사실이 싫습니다.) – gkalpak
Thanks @ Expert System! 내가 미쳐 가고있는 것처럼 느꼈다. 나는 아직도 있을지도 모르지만 나는 오래된 문서를보고 있었다. :) – Dru
repo가 여전히 참조 용으로 사용 가능하면 좋을 것이다. – Brant