Я новичок в тестировании, и я пишу тесты для большого приложения React, которое использует Redux, и я пытаюсь следовать философии «Избегать тестирования деталей реализации» библиотеки React Testing.
Но я не уверен, как действовать при тестировании того, что создатели действий вызываются правильно. Я планирую тестировать создателей действий отдельно, поэтому нет необходимости гарантировать, что они отправляют действия в этом контексте.
Предположим, у меня есть список предметов для управления. Если я удаляю или создаю его, как пользователь, я ожидаю увидеть изменения в списке. Я мог бы легко проверить, что создатель действия вызывается, делая компонент неподключенным и передавая шпионский шут в качестве создателя действия, но это будет проверка деталей реализации (и, в моем случае, других недостатков). Если бы я хотел проверить это способом, имитирующим поведение, которое ожидает пользователь, мне бы понадобилось, чтобы создатель действия фактически отправил свое действие редуктору и изменил хранилище. И это потребует отдельного API тестирования, который имеет свои проблемы. Рефакторинг создателей действий для проверки их вызова тестом с целью пропуска обычного вызова API не является хорошим вариантом.
Каков наилучший способ продолжить работу здесь? Я подозреваю, что немного обдумываю это, и есть простое решение, но я до сих пор не смог ничего найти или придумать.