Использование enzyme с Karma
Karma — популярный инструмент для запуска тестов в нескольких средах браузеров. В зависимости от вашей конфигурации Karma, у вас может быть несколько вариантов настройки Enzyme.
Базовая настройка Enzyme с Karma
Настройка Enzyme
Создайте файл настройки Enzyme. Этот файл настроит Enzyme с соответствующим адаптером React. Он также может использоваться для инициализации любых необходимых компонентов для всех тестов. Чтобы избежать необходимости импорта этого файла и Enzyme, можно переэкспортировать все экспорты Enzyme из этого файла и просто импортировать его.
/* test/enzyme.js */
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import jasmineEnzyme from 'jasmine-enzyme';
// Configure Enzyme for the appropriate React adapter
Enzyme.configure({ adapter: new Adapter() });
// Initialize global helpers
beforeEach(() => {
jasmineEnzyme();
});
// Re-export all enzyme exports
export * from 'enzyme';
Импорт Enzyme из файла настройки Enzyme
В любом месте, где вы хотите использовать Enzyme, импортируйте файл настройки Enzyme так же, как вы импортировали бы сам Enzyme.
/* some_test.js */
// Import anything you would normally import `from 'enzyme'` from the Enzyme setup file
import { shallow } from './test/enzyme';
// ...
Альтернативная настройка karma-webpack
Если вы используете Karma и Webpack с помощью альтернативной настройки karma-webpack, вы можете настроить enzyme в файле входа для тестов и импортировать Enzyme непосредственно в отдельных тестах.
/* test/index_test.js */
import './enzyme';
const testsContext = require.context('.', true, /_test$/);
testsContext.keys().forEach(testsContext);
/* some_test.js */
// If Enzyme is configured in the test entry file, Enzyme can be imported directly
import { shallow } from 'enzyme';
// ...
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/guides/karma.html