gpt4 book ai didi

jasmine - 为什么使用spyOn而不是jasmine.createSpy?

转载 作者:行者123 更新时间:2023-12-03 10:39:01 25 4
gpt4 key购买 nike

之间有什么区别

jasmine.createSpy('someMethod')





spyOn(someObject, 'someMethod')



为什么要选择使用spyOn?

我的猜测是,第一个替代方法将与方法someMethod匹配,无论它包含在哪个对象中,但是spyOn仅在someObject中包含时才匹配。从而使createSpy只是更通用的匹配器?

最佳答案

不同之处在于您应该在对象上使用spyOn的方法

const o = { some(): { console.log('spied') } };
spyOn(o, 'some');

而用 createSpy()为您创建了模拟方法:
const o = {};
o.some = jasmine.createSpy('some');
spyOn的优点是您可以调用原始方法:
spyOn(o, 'some').and.callThrough();
o.some(); // logs 'spied'

正如@estus所说,如果是 spyOn,则在测试后将恢复原始方法。重新分配时应手动完成。

关于jasmine - 为什么使用spyOn而不是jasmine.createSpy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45073883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com