Реактивное тестирование Redux - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь обернуть голову, проверяя компоненты реакции, которые используют избыточный магазин.

Я видел примеры использования Mock Store от redux-mock-store.

Ссылка:

Тестирование React / Redux с энзимом

Я бы подумал, что хочу проверить в моем реальном магазине.Есть ли причина, почему это так?Это только тестирование функциональности компонента, который не должен знать о реальном магазине?Но тогда зачем вообще нужен какой-нибудь магазин?

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Оптимизация хранилища с помощью инструментов redux-mock-store полезна для тестирования асинхронных действий.

Написание тестов для асинхронных действий

0 голосов
/ 22 февраля 2019

Вы также можете протестировать свой редукс (хранилище / селекторы) с помощью инструмента Check-State-Management .

Это требует небольшой настройки.Согласно документации вы:

Установка

  • Установка расширения Chrome из Google Web Store
  • Подготовка checkState.config.js файла в /srcпапка вашего проекта (вам нужно экспортировать все ваши селекторы из этого файла).Посмотрите пример
  • Вставьте наше промежуточное ПО в ваш магазин:
import * as selectors from "./checkState.config.js";

const checkStateMiddleware = (options = {}) => {
    return window && window["__checkStoreExtension__"] ? window["__checkStoreExtension__"](options) :
        store => next => action => next(action);
};

const store = createStore(
    reducers,
    compose(applyMiddleware(
        checkStateMiddleware(selectors),
    )),
);

После того, как эти задачи будут выполнены, вы можете запустить свое приложение, зайдите в него с помощью Chromeрасширение включено.Затем он подготовит контрольные примеры на основе реального состояния вашего приложения, когда вы будете перемещаться и взаимодействовать с ним.

0 голосов
/ 26 июня 2018

В идеале, ваши Компоненты должны быть тестируемыми даже без присутствия магазина.Вы можете просто прокси передать пропущенные реквизиты и протестировать ожидаемую функциональность.В большинстве случаев вы просто хотите протестировать конечный контракт компонента, а не фактические детали реализации (действия, редукторы и т. Д.).

Это очень очень прагматичная и прагматичная точка зрения, но вы можете избежать использования следующих типов тестов для вашего проекта -

  1. Модульное тестирование компонентов
  2. E2E Тестирование страниц
  3. Просмотр регрессионного тестирования для вашей библиотеки компонентов / системы проектирования.

Надеюсь, это поможет!?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...