我想檢查函數是否在我的測試中被調用過。試圖執行此操作時收到錯誤TypeError: Cannot read property 'match' of undefined
。我已經將我的代碼設置爲在我的函數上使用sinon.spy()
,然後在此基礎上檢查callCount
。 getMarketLabel
將總是返回一個字符串。下面是我的代碼:sinon spy檢查函數是否被調用錯誤
beforeEach(() => {
marketLabelSpy = sinon.spy(getMarketLabel());
}); //please note this is in a describe block but didnt feel it was relevant to post it. marketLabelSpy is pre-defined.
it('should be called',() => {
expect(marketLabelSpy).to.have.callCount(1);
})
是什麼getMarketLabel()返回?要附加一個sinon間諜,你需要做sinon.spy(func)或sinon.spy(object,「method」)或者使用sinon.spy()作爲函數本身。 – DevDig
編輯原文。 'getMarketLabel'將總是返回一個'字符串' – DaveDavidson
我不認爲這是有道理的,請參閱如何使用sinon spies:http://sinonjs.org/docs/#spies,沒有sinon.spy方法將字符串。 – DevDig