В наши дни разработчики склонны считать, что написание тестов неизбежно. В React протестировать компонент относительно просто, но для нас не существует определенного руководства по тестированию контейнера (связанного компонента). Здесь я собираюсь поделиться некоторыми своими идеями, вдохновленными несколькими пионерами в этой конкретной теме.
Контейнер состоит из трех основных частей: mapStateToProps
, mapDispatchToProps
и connect
. Поскольку у нас уже должны быть собственные тесты для reducers
, actions
и selectors
, нам не нужно их здесь тестировать. Что нам нужно убедиться:
- И контейнер, и обернутый дочерний компонент должны быть успешно отрисованы.
- Как Шон Мили прокомментировал Github, убедитесь, что ключи наших состояний и действий, передаваемые обернутому компоненту, верны.
Вот пример контейнера:
Давайте для этого напишем тесты с Jest:
Я думаю, что этого должно хватить, чтобы правильно протестировать контейнер. Что касается connect
, я считаю, что он должен работать, как рекламируется, без тестирования.
Благодарим TaopaiC за просмотр этого сообщения перед публикацией.