Как мне настроить конфигурационный файл Enzyme Adapter с помощью Jest? - PullRequest
1 голос
/ 16 июня 2019

Я следовал инструкциям в других проектах и ​​потоках, но не могу заставить React найти файл конфигурации Enzyme.

package.json

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
"jest": {
    "collectCoverageFrom": [
      "src/**/*.{js, jsx, mjs}"
    ],
    "setupFiles": [
      "<rootDir>src/setupTests.js"
    ]
  }

src/setupTests.js

import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";
export { shallow, render, mount } from "enzyme";
export { shallowToJson } from "enzyme-to-json";

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

export default Enzyme;

the error when running tests

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';

Любая помощь будет высоко ценится. Спасибо

1 Ответ

2 голосов
/ 16 июня 2019

Следуйте этой конфигурации:

// test-setup.js
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

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

, затем добавьте ключ setupFilesAfterEnv в конфигурацию Jest и укажите на этот файл.Например, если ваша конфигурация Jest находится в package.json:

// package.json
{
  "jest": {
    "setupFilesAfterEnv": ["<rootDir>src/setupTests.js"]
  }
}

из документации фермента: https://airbnb.io/enzyme/docs/guides/jest.html

Список путей к модулям, которые запускают некоторый код длянастраивать или настраивать структуру тестирования перед каждым тестом.Поскольку setupFiles выполняется до установки тестовой среды в среде, этот файл сценария предоставляет вам возможность выполнить некоторый код сразу после установки тестовой среды в среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...