Spec-Zone.ru › Enzyme

Использование 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API