【问题标题】:Assert on most recent call arguments for Sinon spy就 Sinon spy 的最新通话参数进行断言
【发布时间】:2019-06-04 13:48:03
【问题描述】:

在我的实现代码中,我有一个可能会被多次调用的更新函数。更新完成,也就是说如果你调用updateFn(A)然后updateFn(B),“A”将无所谓,只有“B”有效。我可以这样写一个断言:

assert(updateFn.calledWith(B));

这在表面上似乎是一个很好的测试。但是,如果实际调用是 updateFn(A)updateFn(B)updateFn(A),则该断言仍然会通过,这对于相关系统来说是不正确的行为。

我想写的是仅对最近调用的参数的断言。诗浓有什么好的办法吗?

【问题讨论】:

    标签: sinon


    【解决方案1】:

    使用 Chai 断言,您可以:

    expect(updateFn.lastCall.args).to.eql([B]);
    

    其中[B] 是预期参数的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 2018-07-19
      • 2020-06-13
      • 1970-01-01
      • 2019-07-07
      • 2014-09-08
      • 2019-09-11
      相关资源
      最近更新 更多