Автор оригинала: Rajjeet Phull.
Минималистичная реализация шума и фермента для тестирования реагированных проектов
Попробуйте сейчас!
git clone https://github.com/rajjeet/react-playbook cd react-playbook/packages/jest-enzyme npm install npm test
Шаг 1: Добавить зависимости
Следуйте за Реактивные основы
Учебник и выполните следующую команду потом:
npm install --dev jest enzyme enzyme-adapter-react-16 @types/jest`
Вот для каждого пакета для:
jest
Тестовый бегун и рамки, которые выполняют наши тесты и функции помощников поставщиков для утвержденийфермент
Является ли тестируемая вспомогательная библиотека, которая позволяет нам редить в реактивных компонентах на виртуальном доме и обеспечивает метод Для проверки дерева DOM для конкретных компонентов и их свойств. Подумайте о jQuery, но для компонентов реагирования для тестирования.Фермент-адаптер-реагирование-16
это адаптер между реагированным и ферментом. Это будет выполнено перед запуском тестов.@ Типы/Через
Типы библиотеки, которые обеспечивают набрав и впитывание глобальных ключевых слов, таких какОпишите
иЭто
в нашем тестовом файле. Это делает безопасность типа более надежными для файлов типа и обеспечивает лучшую поддержку IDE для Тестовые файлы.
Шаг 2: Добавить адаптер фермента для реагирования
- Добавьте файл установки тестирования с адаптером фермента, который выполняет перед каждым тестом в
./setuptests.js.
const Enzyme = require('enzyme'); const Adapter = require('enzyme-adapter-react-16'); Enzyme.configure({ adapter: new Adapter() });
Шаг 3: Подключите тест на настройку
- Укажите на файл установки, используя
jest
Недвижимость вPackage.json
Отказ
"jest": { "setupFilesAfterEnv": [ "/setupTests.js" ] }
Шаг 4: Добавить и запустить тесты
Для <Приложение/>
Компонент в ./src
:
import React from "react"; export const App = () =>Hello world React!
;
Мы можем добавить следующий тестовый файл:
import React from 'react'; import { shallow } from "enzyme"; import { App } from "./App"; describe('Test App Entry point', function () { it('should have a header tag with Hello world React!', function () { const wrapper = shallow(); expect(wrapper.find("h1").text()).toEqual("Hello world React!"); }); });
Опишите
Блок группы Набор испытаний, окруженных Это
блоки, как показано выше. Желательно гнездить несколько Опишите
Блоки для логически отделяют объем каждого теста. Это
Блоки должны в идеале содержать только один утверждение.
Теперь запустите тест, используя NPM Test
Отказ Вы должны увидеть тестовый проход следующим образом:
$ npm test > jest-enzyme@0.0.0 test C:\Users\rajje\WebstormProjects\react-playbook\packages\jest-enzyme > jest PASS src/App.test.js Test App Entry point √ should have a header tag with Hello world React! (6 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 1.967 s, estimated 2 s Ran all test suites.
Оформить заказ другой React React Starters
Используя эти начала, я быстро забираю рабочие знания этих библиотек и реализовать их с уверенностью на сложных проектах. Github repo.