2016-12-20 1 views
0

Nous exécutons nos tests d'intégration dans Node, en utilisant le montage de l'enzyme et jsdom pour rendre l'application complète. Pour chaque test, nous créons un nouveau magasinSupprimer/déconnecter les épics de redux-observable

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

Malheureusement, pour ce faire plusieurs tests, je l'ai remarqué que chaque épopée a été attaché plusieurs fois, donc au lieu d'une épopée agissant d'une une action 10 du même sont! Y a-t-il un moyen d'exécuter le nettoyage à la fin de chaque test afin que les épopées soient détachées et n'écoutent plus?

Nous utilisons redux, redux-observable et enyzme + mocha pour tester. Merci!

Répondre

1

Chaque fois que vous créez un nouveau magasin, vous devez créer une nouvelle instance de l'epicMiddleware que vous lui attribuez.

Alternativement, il y a epicMiddleware.replaceEpic(rootEpic) qui vous permet de remplacer l'épique racine en cours d'exécution, mais je ne suis pas sûr que cela résoudra votre problème dans ce cas.