クロム拡張子をJasmineでテストしようとしていますが、calls.length
とcallCount
が予期したとおりに動作するのに問題があります。どちらの場合もundefined
が返されます。ジャスミンの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
ありがとう@ExpertSystem!私が狂ったように感じる。私はまだかもしれませんが、私は旧式のドキュメントも見ていました:) – Dru
リポジトリが依然として参考になっているといいですね。 – Brant