断言Sinon间谍的最新通话论点

时间:2019-06-04 13:48:03

标签: sinon

在我的实现代码中,我有一个可以多次调用的更新函数。更新已完成,也就是说,如果您调用updateFn(A),则updateFn(B),“ A”将无关紧要,只有“ B”将生效。我可以这样写一个断言:

assert(updateFn.calledWith(B));

表面上看来是一个很好的测试。但是,如果实际的调用是updateFn(A)updateFn(B)updateFn(A),那么该断言仍然会通过,这对于所讨论的系统来说是不正确的行为。

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

1 个答案:

答案 0 :(得分:0)

有了Chai的断言,您可以做到:

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

[B]是期​​望参数的数组。