Об этом проекте
Enzyme — это JavaScript-утилита для тестирования React, которая упрощает тестирование выходных данных компонентов React. Она позволяет разработчикам манипулировать, обходить и в некоторой степени симулировать выполнение на основе отрендеренного вывода. Её API разработан интуитивно понятным и гибким, имитируя API jQuery для манипуляций с DOM и обхода.
Ключевые возможности:
- Поверхностный рендеринг: рендерит компонент на один уровень вглубь и позволяет проверять то, что он возвращает, без необходимости в DOM.
- Полный DOM-рендеринг (mount): рендерит компоненты в реальном DOM-окружении, поддерживая методы жизненного цикла, изменения пропсов и симуляцию событий.
- Статический рендеринг: рендерит компоненты в статическую HTML-разметку и анализирует полученную структуру.
Адаптеры: Enzyme требует адаптер, соответствующий используемой версии React. Официальные адаптеры покрывают React 16.x, 15.x, 0.14.x и 0.13.x. Существуют сторонние адаптеры для Preact и Inferno.
Совместимость с тест-раннерами: Enzyme не навязывает конкретный тест-раннер или библиотеку утверждений. В примерах документации используются Mocha и Chai, а также существуют сопутствующие библиотеки матчеров для Jest, Jasmine, should.js и expect.
React-хуки: Enzyme поддерживает React-хуки с некоторыми ограничениями в поверхностном рендеринге из-за проблем в вышестоящем рендерере React (useEffect/useLayoutEffect не вызываются, useCallback не мемоизируется). Для mount с React 16.8+ Enzyme оборачивает такие API, как simulate, setProps, setContext и invoke, в ReactTestUtils.act().
Установка производится через npm: устанавливаются enzyme и соответствующий адаптер. Конфигурация выполняется с помощью верхнеуровневого API configure().
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.