我想爲nodeJS單元測試使用sinonJS框架。問題是,我根本無法讓這些sin sp的間諜工作。這是我的代碼:sinon間諜沒有檢測到函數調用
const callback = sinon.spy(someModule.callback)
mainModule.doSomethingFunction() //someModule.callback function is called inside this function
assert(callback.calledOnce, 'callback should be called once')
它只是失敗:
AssertionError: callback should be called once
但我記錄應該調用的函數裏面,它清楚地表明它被調用,興農間諜剛沒有檢測到它。我不知道什麼是錯的?
如果您在問題中包含的是所有待測試的代碼,則不會調用它。你創造了間諜,然後不做任何事情。 – cartant
我編輯了這個問題:我在應該被窺探的回調中添加了函數。間諜是不是間諜的目的,而不是做什麼?我認爲間諜只是間諜,然後我可以測試它偵察到的功能是否已被調用? –
@ VilleMiekk-oja是的,但是你的代碼中沒有任何函數調用'callback'。也許它應該作爲'doSomethingFunction'的參數傳遞? – Bergi