4 votes

Pourquoi est-ce que je reçois l'erreur suivante : Erreur interne de l'enzyme : l'adaptateur d'enzyme configuré n'a pas hérité de la classe de base EnzymeAdapter.

J'ai mis en place jest et enzyme et je n'arrive pas à le faire fonctionner. Il se plaint de la classe de base EnzymeAdapter.

J'ai essayé

configure({}) con import { configure } from 'enzyme'

Enzyme.configure({}) con import Enzyme from 'enzyme'

new Adapter() con import Adapter from 'enzyme-adapter-react-16';

new EnzymeAdapter() con import EnzymeAdapter from 'enzyme-adapter-react-16';

Mon setupTests.js :

import Enzyme, { configure } from 'enzyme';
import EnzymeAdapter from 'enzyme-adapter-react-16';

Enzyme.configure({ adapter: new EnzymeAdapter() });

L'erreur que j'obtiens pour chaque classe de test est la suivante :

Enzyme Internal Error: configured enzyme adapter did not inherit from the EnzymeAdapter base class

      2 | import EnzymeAdapter from 'enzyme-adapter-react-16';
      3 | 
    > 4 | Enzyme.configure({ adapter: new EnzymeAdapter() });
        |        ^

      at validateAdapter (node_modules/enzyme/src/validateAdapter.js:43:11)
      at Object.merge [as configure] (node_modules/enzyme/src/configuration.js:11:5)
      at Object.configure (src/setupTests.js:4:8)
          at Array.forEach (<anonymous>)

Comme je l'obtiens pour chaque suite de tests, le fichier setupTests.js fonctionne.

La même erreur apparaît si je fais la configuration dans le fichier test.js lui-même

J'ai cherché pendant des heures sans succès. Quelqu'un a-t-il déjà rencontré ce problème ou a-t-il une solution ?

Merci d'avance !

4voto

emiliero Points 131

L'erreur a été trouvée !

Il y avait un problème avec la plaisanterie. J'ai dû supprimer node_modules et package-lock.json / yarn.lock et supprimer jest de devDependencies dans package.json . Pourquoi ? Parce que react-scripts a installé une version de jest différente de celle écrite dans le fichier package.json .

J'ai ensuite réinstallé toutes les dépendances avec yarn dans le terminal ( npm peut être bogué lorsqu'il s'agit de dépendances et de versions) et n'a pas fait d'erreur. yarn test dans le dossier du projet.

EDIT #1 Merci à Mitch Lillie de m'avoir aidé à trouver la solution.

1voto

yaya pro Points 683

Dans mon cas :

import {configure} from 'Enzyme'

Je l'ai remplacé par :

import {configure} from 'enzyme'

et ça a marché !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X