【问题标题】:Error: stub cannot call arg since it was not yet invoked错误:存根无法调用 arg,因为它尚未被调用
【发布时间】:2018-11-17 13:50:18
【问题描述】:

我在我的一个测试中遇到了这个错误,我不明白它在 Sinon 的上下文中是什么意思。

我知道我的存根有问题,但是 Sinon 的“调用”是什么?

谢谢

【问题讨论】:

  • 你想分享一些代码吗?或者如果你找到了解决方案?
  • 对不起,我没有找到解决方案。我们只是继续前进,放弃了这个问题,专注于其他事情。

标签: node.js mocha.js sinon


【解决方案1】:

由于您没有提供任何代码,而且这也发生在我身上,我将回答在我的上下文中有效的内容。

我们使用以下代码来测试控制器中的回调:

serviceStub
    .withArgs(1, 2, sinon.match.func)
    .callArgWith(2, null);

// Call the controller for testing
controller(1, 2);

这里的问题是callArgWith 函数。该函数用于调用已经定义的参数(这里不是这种情况,因为控制器只是在这个定义之后才被调用)。

为了解决这个问题,要调用的正确函数是callsArgWith(带有s),它只在定义后调用参数。

--

再次,我不确定这是否是您遇到的问题,但它会引发同样的错误,并且可能会帮助其他人解决同样的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    相关资源
    最近更新 更多