Angular测试失败:“Expectedaspy,butgotFunction。”
创始人
2024-10-23 14:31:47
0

这通常发生在使用间谍函数时。 让我们考虑以下示例代码:

it('should call some function', () => {
   const spy = spyOn(component, 'someFunction');
   component.someOtherFunction();
   expect(spy).toHaveBeenCalled();
});

在此测试中,我们创建了一个组件上某个函数的间谍函数,并在我们关心的代码路径上调用了某个其他函数。 我们最终验证了我们的函数是否被调用。

但是,有时我们可能需要调用实际的函数而不是间谍函数。 在这种情况下,我们必须使用原来的函数而不是间谍函数:

it('should call some function', () => {
  const original = component.someFunction;
  spyOn(component, 'someFunction').and.callThrough();
  component.someOtherFunction();
  expect(original).toHaveBeenCalled();
});

在这个解决方法中,我们使用了“and.callThrough()”而不是仅仅调用“spyOn”,这样间谍函数就不会替换原来的函数,而是按原样运行。 在这种情况下,我们可以验证调用了我们想要的函数而不是间谍函数。

相关内容

热门资讯

脚本推荐!黑侠破解wepoke... 脚本推荐!黑侠破解wepoker,wepoker怎么挂飞机(透视)竟然真的有技巧(哔哩哔哩)能透视中...
据公告内容!wepoker底牌... 据公告内容!wepoker底牌透视脚本,微信小程序微乐破解器,揭幕脚本(有挂教程)-哔哩哔哩wepo...
脚本关于!wepoker透视脚... 脚本关于!wepoker透视脚本网页,wepoker私局代打(透视)切实存在有挂(哔哩哔哩)1、ep...
目前来看!wepokerh5破... 目前来看!wepokerh5破解,微乐广西麻辣辅助器,教你透视(有挂技巧)-哔哩哔哩1、下载好wep...
透视透视!wepoker免费透... 透视透视!wepoker免费透视,微信小程序可以开挂吗,解迷透视(果真有挂)-哔哩哔哩1、下载好we...
透视揭露!We poker辅助... 透视揭露!We poker辅助器下载,WePOker有没有透视方法(透视)一直真的有脚本(哔哩哔哩)...
备受关注的!wepoker有没... 备受关注的!wepoker有没有挂,微乐小程序游戏辅助器脚本官网,教你脚本(证实有挂)-哔哩哔哩we...
透视必备!hhpoker软件可... 透视必备!hhpoker软件可以玩吗,hh poker透视器下载(透视)一贯是有工具(哔哩哔哩)1、...
记者获悉!we-poker辅助... 记者获悉!we-poker辅助,微乐小程序免费黑科技5个玩家常用方法,详情脚本(有挂细节)-哔哩哔哩...
透视详细!德普之星有透视辅助吗... 透视详细!德普之星有透视辅助吗,德普之星辅助软件(透视)切实存在有教程(哔哩哔哩)在进入软件靠谱后,...