0
使用Jasmine Spies時,andCalledThrough()
方法與toHaveBeenCalled
有什麼不同,它實際上是否完全運行原始方法?我應該使用它的任何理想場景?方法`toHaveBeenCalled()`和`andCalledThrough()`有什麼區別?
使用Jasmine Spies時,andCalledThrough()
方法與toHaveBeenCalled
有什麼不同,它實際上是否完全運行原始方法?我應該使用它的任何理想場景?方法`toHaveBeenCalled()`和`andCalledThrough()`有什麼區別?
這些都是在刺探一個函數的兩個不同的步驟。
當你在一個函數上聲明一個spy
時,在函數被調用之前,你可以附加一些指令去調用該函數時應該做的事情。 and.callThrough()
表示將使用實際的實現。其他選項是and.callFake()
和and.returnValue()
,它允許你嘲笑的迴應,而不是使用實際的執行情況。
在你偵察到的函數被調用後,你可以使用expect
和toHaveBeenCalled
及其變體驗證它是否被調用。
請參閱documentation。
基本上在嘲笑它被用來執行你的模擬功能,但「andCalledThrough()」使用這個調用功能,並且也執行它和「toHaveBeenCalled」這隻能檢查功能是否在文件中或不和獲取調用 –