web-dev-qa-db-fra.com

API de nouveau contexte de React avec enzyme

J'utilise des enzymes et je les aime beaucoup. Cela fonctionne avec react 16 jusqu'à ce que je veuille tester mon nouveau projet qui utilise la nouvelle API de contexte de react.

Si je ne rend que mon composant de base en utilisant un journal peu profond et console, le débogage du composant, je peux voir son contenu, mais lorsque j'utilise la nouvelle API de contexte avec le fournisseur et le consommateur, j'obtiens <undefined /> comme rendu. Enzyme ne rend pas le composant mais réagit.

Quelqu'un peut-il s'il vous plaît fournir quelques conseils.

Je vous remercie.

12
SamTheGoodOne

La prise en charge de cela et d'autres React 16.3 fonctionnalités vont être incluses dans la prochaine version d'enzyme qui se produira au milieu de l'été, cette année (comme dit ici ) .

Pour l'instant, voici une solution:

const outer = shallow(<SimpleComp />);
const Children = outer.props().children({ /* context */ });
const wrapper = shallow(Children);

Pour utiliser mount () avec la nouvelle API Context, utilisez ce patch enzymatique .

11
arkadyt