node.js - 错误:存根无法调用 arg,因为它尚未被调用
问题描述
我在我的一个测试中遇到了这个错误,我不明白它在 Sinon 的上下文中是什么意思。
我知道我的存根有问题,但什么是 Sinon 的“调用”?
谢谢
解决方案
由于您没有提供任何代码,并且由于这也发生在我身上,因此我将回答在我的上下文中有效的方法。
我们使用以下代码来测试控制器中的回调:
serviceStub
.withArgs(1, 2, sinon.match.func)
.callArgWith(2, null);
// Call the controller for testing
controller(1, 2);
这里的问题是callArgWith
功能。此函数用于在已定义参数时调用参数(此处不是这种情况,因为控制器仅在此定义后调用)。
为了解决这个问题,调用的正确函数是callsArgWith
(带有s),它只在定义后调用参数。
--
同样,我不确定这是否是您遇到的问题,但它会引发同样的错误,并且可能会帮助其他人解决同样的问题。
推荐阅读
- perl - Perl 抛出“无法在 @INC 中找到 Config/YAML.pm”
- implicit - 关于 Navier-Stokes 方程中隐式方法的问题
- docker - 由于 COPY node_modules,Docker 在 azure 中构建 -> 在相同代码库上存在较大差异。本地运行没有差异
- python - 为什么我需要返回 True 或 false?
- python - ElasticSearch 切片滚动限制(python)
- puppeteer - 如何滚动到 Puppeteer 中提供的元素?
- gulp - Gulp 缓存生成的文件
- linux - 在 2 个不同大小的 UNSORTED 文件中查找不同的行
- azure - 如何在不使用 Azure API 网关的情况下在 Azure 函数应用 Http 触发器中控制消费者在给定时间段内(限制)对 API 的使用
- ios - Xcode Organizer 问题,看不到崩溃