当前位置: 首页 > 知识库问答 >
问题:

Sinon spy的行为不符合预期

扈昀
2023-03-14

在实用服务中,我有两个功能foo和bar。js

export function foo() {
    return bar();
}

export function bar() {
    return 1;
}

在我的测试文件中,我导入了实用ervice.js并窥探了条形图函数。我期望调用间谍计数为1,因为foo被称为,但它是0。如果我错过了什么,请建议。

import * as utilityService from '../services/utility-service';

let callSpy = sinon.spy(utilityService, 'bar');
expect(utilityService.foo()).to.equal(1);
expect(callSpy.callCount).to.equal(1);

共有1个答案

薛宏壮
2023-03-14

从西农留档:

西农。spy(对象,“方法”)为对象创建一个spy。方法,并将原始方法替换为spy。

import创建一个名为utilityService的对象,该对象引用foobar<代码>Sinon取代了实用服务。bar()具有自己的功能。但是foo不调用utilityService。bar(),但直接使用。因此,调用不会通过Sinon的替换函数进行。

我希望这是清楚的。

 类似资料:
  • 我正试图实现一个全屏幕响应的图像解决方案,具有以下松散的要求 0-600像素 经过一点挖掘,我决定使用尺寸: iPhone 6 我为每个屏幕大小创建了单独的图像(用于艺术方向),并使用了以下srcset代码 图像具有以下CSS(因此它的行为类似于背景:封面) 我把我的桌面显示器的尺寸调整得很小,并调整到全屏,图像被替换到正确的位置 然而,在我的手机和平板电脑上,它始终显示1920年的图像 理想情况

  • 使用4.0.31,我的AppHost配置方法是这样声明的: 我的印象是,这将把swagger用户界面的url设置为.../api/Resources的https版本,但是我仍然在swagger URL文本框中获得常规的超文本传输协议endpoint,例如: 我们的web服务器位于执行SSL卸载(并需要SSL)的负载平衡器之后,因此URL应为: 一个积极的方面是,使用“UseHttpsLinks”实

  • 我有一个选择一个图像的意图(我在一个片段中这样称呼它): 在我的活动中: 输出:OnActivityResult:请求代码:66084 OnActivityResult:Result:-1成功=true 正如您所看到的,结果是成功的,但请求代码发生了更改。所以我无法查证是什么请求。

  • 我正在仪表板上工作,用于监控作业,状态被更新,但是Ui网格中的在这里没有按预期运行,我尝试了什么 并且该函数应该使用fontgreat图标更新状态 但安格拉尔并没有像我所期望的那样,而是把这当作一段文字 这里是一个笨蛋 http://plnkr.co/edit/7UapXgNzZWPXVZbLjYFy?p=preview 如果你能帮我解释清楚,我们将不胜感激

  • 在使用CXF3.0.4构建实现的服务器上验证我的请求时,我遇到了一些问题。 但是,当我尝试使用以下wss安全部分运行请求时,我得到了一个错误: 这是一个错误: 但是,当我尝试用另一个实现(它是IBM的一个)对服务器运行相同的请求时,它工作得很好。我从这里读了说明书