何时使用createSpy、createSpyObject 和spyOn?

Lin*_*mar 1 unit-testing jasmine2.0 angular

我最近了解到,spyOn 不能与外部依赖项一起使用,只能与被测系统一起使用。

但我有一些关于为什么它不能使用的问题,我得到的答案很少。

所以我想知道我们应该使用它们的最佳实践。

Say*_*V R 5

当没有要监视的函数时可以使用 jasmine.createSpy 。它将像间谍一样跟踪调用和参数,但没有实现。

jasmine.createSpyObj 用于创建一个模拟来监视一个或多个方法。它返回一个对象,该对象具有每个间谍字符串的属性。

你应该有一个带有spyOn的对象方法。spyOn的优点是你可以调用原始方法