在使用Jasmine Spies时,andCalledThrough()
方法与toHaveBeenCalled
的方法有何不同,它是否真的完全运行原始方法?我应该使用它的任何理想场景吗?
答案 0 :(得分:2)
这是监视某个功能的两个不同步骤。
当您在函数上声明spy
时,在调用函数之前,您可以附加一些指令来指示在调用函数时应该执行的操作。 and.callThrough()
表示将使用实际的实现。其他选项包括and.callFake()
和and.returnValue()
,它们允许您模拟响应而不使用实际实现。
在您调查的功能被调用后,您可以使用expect
和toHaveBeenCalled
及其变体验证是否已调用该功能。
请参阅documentation。