Должен ли я использовать toHaveBeenCalledTimes в своих тестах, чтобы подсчитать, сколько раз была вызвана диспетчеризация? - PullRequest
0 голосов
/ 14 января 2019

Я часто вижу, как мои товарищи по команде используют toHaveBeenCalledTimes в своих тестах с Jest, чтобы подсчитать, сколько раз был вызван метод отправки из магазина Redux.

Мне кажется, что это бесполезно и излишне: если мы проверяем, что были вызваны правильные действия, зачем нам подсчитывать количество вызовов для метода отправки?

выглядит так:

expect(setEnabled).toHaveBeenCalled(); expect(updateUserData).toHaveBeenCalled(); expect(dispatch).toHaveBeenCalledTimes(2);

Действительно ли имеет смысл проверять количество вызовов для метода отправки? Похоже, что в таком случае мы на самом деле не проверяем, что функция работает надлежащим образом, а проверяем реализацию.

1 Ответ

0 голосов
/ 14 января 2019

В редких случаях вложенные или циклические вызовы диспетчеризации могут вызвать неожиданное поведение состояния, но в большинстве случаев проверка toHaveBeenCalledTimes() здесь избыточна, если не реализовано сложное промежуточное ПО Redux. Тем не менее, избыточное тестирование, возможно, лучше, чем недостаточное тестирование, поэтому нельзя обязательно сделать вывод, что ваши товарищи по команде делают что-то не так.

...