web-dev-qa-db-fra.com

Enzyme s'attend à ce qu'un adaptateur soit configuré, mais n'en a trouvé aucun

J'ai un problème pour appeler la fonction enzym'smount. Ça dit:

Enzyme Internal Error: Enzyme expects an adapter to be configured, but found none. To
      configure an adapter, you should call `Enzyme.configure({ adapter: new Adapter() })`
      before using any of Enzyme's top level APIs, where `Adapter` is the adapter
      corresponding to the library currently being tested. For example:

      import Adapter from 'enzyme-adapter-react-15';

Mon fichier setupTests.js ressemble à ceci:

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

configure({ adapter: new Adapter() });

et dans package.json:

"jest": {
    "testEnvironment": "jest-environment-jsdom-global",
    "setupFiles": [
        "<rootDir>/jestConfigs/setupTests.js"
    ],
    "moduleNameMapper": {
        "^.+\\.(css|scss)$": "<rootDir>/jestConfigs/CSSStub.js",
        "^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/jestConfigs/fileStub.js",
        "/common-mms/(.+)": "<rootDir>/App/common-mms/$1"
    }
},

Mais le problème est le suivant: j'utilise react-16 et enzyme-adapter-react-15 n'a aucune importance pour moi. Même si j'ajoute enzyme-adapter-react-15 juste au cas où - l'erreur persiste.


UPDATE: Si je copie le contenu de setupTests.js au début de chaque fichier de test - tout fonctionne correctement! Et si je mets console.log(1) dans setupTests - il s’imprime réellement! Cela signifie que le fichier est réellement incrusté lors de l'initialisation plaisante.

7
kurumkan

Vous devez importer setupTests.js dans votre fichier dans lequel vous écrivez vos scénarios de test. Ceci a déjà été répondu dans ce link

1
Vikram Thakur