2016-12-20 2 views
0

Мы проводим наши интеграционные тесты в узле, используя крепление фермента и jsdom для рендеринга полного приложения. Для каждого теста, мы создаем новый магазинУдалите/отключите эпопеи от сокращаемого наблюдателя

return createStore(
    reducer, 
    stateShape, 
    composeEnhancers(
     applyMiddleware(epicMiddleware, navMiddleware) 
    ) 
); 

К сожалению, сделать это для нескольких тестов, я заметил, что каждый эпический было присоединено несколько раз, так что вместо того, чтобы один эпический действует один действие 10 того же самого находятся! Есть ли способ запустить очистку в конце каждого теста, чтобы эпики были отсоединены и больше не слушали?

Мы используем редукцию, редукцию-наблюдаемость и enyzme + mocha для тестирования. Благодаря!

ответ

1

Каждый раз, когда вы создаете новый магазин, вам нужно создать новый экземпляр epicMiddleware, который вы его дадите.

В качестве альтернативы, есть epicMiddleware.replaceEpic(rootEpic), который позволяет вам заменить текущий запущенный корень, но я не уверен, что в этом случае вы решите свою проблему.

Смежные вопросы