Рубрики
Без рубрики

Начните с тестирования React: Jest и Enzyme – 4 простых шага

Минималистичная реализация шума и фермента для тестирования реагированных проектов

Автор оригинала: 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.