在我的实现代码中,我有一个可以多次调用的update函数。更新已经完成,也就是说,如果调用updateFn(A)
然后调用updateFn(B)
,那么"A“将无关紧要,只有"B”才会生效。我可以像这样写一个断言:
assert(updateFn.calledWith(B));
从表面上看,这似乎是一个很好的测试。但是,如果实际调用是updateFn(A)
updateFn(B)
updateFn(A)
→→,则该断言仍将通过,这对于相关系统来说是不正确的行为。
我想写的是关于最近调用的参数的断言。有没有用Sinon做这件事的好方法?
发布于 2019-06-05 03:34:03
使用Chai断言,您可以执行以下操作:
expect(updateFn.lastCall.args).to.eql([B]);
其中[B]
是预期参数的数组。
https://stackoverflow.com/questions/56445293
复制相似问题