gpt4 book ai didi

javascript - SpyOn $ Jquery 与 Jasmine 不工作

转载 作者:行者123 更新时间:2023-11-30 15:13:07 25 4
gpt4 key购买 nike

我正在尝试使用 Jasmine SpyOn 模拟 Jquery 选择器

describe('initialising the navigation bar', ()=> {
it('should do something', () => {

spyOn(window, '$').and.returnValue("bar");
expect(utilityNavigation.test()).toBe('bar');

});

});

代码如下:

utilityNavigation = {
test() {
let foo = $('.utility-navigation');
return foo;
}
}

简单的东西。当我在 Karma 调试器中调试代码并在控制台中执行 $('.utility-navigation') 时,我得到了 spy 预期的 bar。但是测试结果给了我一个空的 JQuery 对象,而不是 spy 的返回值。

最佳答案

您观察到的是绝对正确的。这不应该工作。 SpyOn 函数有两个参数: 1. 现有对象(“window”是现有对象,这里没有问题); 2. 该对象函数的字符串名称(“'$'”不是窗口对象的函数。)。我相信这就是您的问题“为什么 SpyOn $ Jquery with Jasmine 不起作用?”的答案

如果您需要有关如何使其工作的更多信息,SO 上有很多关于它的答案;不想复制粘贴答案。例如,这将是一个很好的开始方式:Spying on JQuery Selectors in Jasmine

关于javascript - SpyOn $ Jquery 与 Jasmine 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44848976/

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