Здесь есть пара факторов.
Во-первых, даже при нормальном рендеринге и использовании диспетчерское действие не сразу обновляет реквизиты компонента. Компоненты оболочки, сгенерированные connect
, сразу же уведомляются после отправки действия, но фактический повторный рендеринг обернутого компонента обычно переносится и помещается в очередь с помощью React. Таким образом, отправка действия в одной строке не будет отражена в реквизитах на следующей строке.
Во-вторых, в идеале «простой» компонент не должен знать ничего о самом Редксе. Он просто знает, что он получает некоторые данные в качестве реквизита, и когда происходит событие, подобное нажатию кнопки, вызывает некоторую функцию, которую он дал в качестве опоры. Таким образом, тестирование компонента должно быть независимым от тестирования любых связанных с Redux.
Если это помогает, у меня есть целая куча статей на React and Redux-related testing как часть моего React/Redux links list. Некоторые из этих статей могут помочь вам дать некоторые идеи.
Кроме того, многие тесты в реакции-редукции для 'connect' являются достаточно точными отправными точками для написания теста. –
спасибо, так какой рекомендуемый подход? Я подумываю об одном модуле тестирования моих компонентов как о том, как ом-редукция-неосведомленный-реквизит, и отдельно тестирую мое состояние с помощью модульного тестирования редукторов? – user3139602