Javascript 我是否应该在测试中使用已调用的时间来计算调用dispatch的次数?

Javascript 我是否应该在测试中使用已调用的时间来计算调用dispatch的次数?,javascript,reactjs,redux,jestjs,Javascript,Reactjs,Redux,Jestjs,我经常看到我的队友在测试中使用来计算调用Redux store的dispatch方法的次数 这对我来说似乎是无用和多余的:如果我们检查是否调用了正确的操作,为什么我们需要计算分派方法的调用数 看起来像这样: expect(setEnabled).toHaveBeenCalled(); expect(updateUserData).toHaveBeenCalled(); 预计(派遣)。已被催收时间(2) 检查dispatch方法的调用数是否真的有意义? 看起来在这种情况下,我们并不真正测试函数是否

我经常看到我的队友在测试中使用
来计算调用Redux store的dispatch方法的次数

这对我来说似乎是无用和多余的:如果我们检查是否调用了正确的操作,为什么我们需要计算分派方法的调用数

看起来像这样:

expect(setEnabled).toHaveBeenCalled();
expect(updateUserData).toHaveBeenCalled();
预计(派遣)。已被催收时间(2)

检查dispatch方法的调用数是否真的有意义?
看起来在这种情况下,我们并不真正测试函数是否正常工作,而是测试实现。

在极少数情况下,嵌套或循环调度调用可能会导致意外的状态行为,但在大多数情况下,
toHaveBeenCalledTimes()
如果没有实现复杂的Redux中间件,请检查此处是否为reduntant。但是,冗余测试可以说比不充分测试更好,因此不一定可以断定您的队友做错了什么。

有时,如果调度导致副作用或状态改变,确定调度只调用了一定次数可能很重要。例如,想象一个计数器将状态递增一。您可能希望确保单击加号按钮只会使状态增加1,而不是两次调用同一操作。