Как не тестировать
React библиотеку
и крепко спать
Артур Удалов, Mail.Ru Group
UI библиотека Почты Mail.RU
- 15+ разработчиков в почте
- Облако и другие проекты
- Каждый может сделать commit
У нас есть тесты!
test('Оберег', () => {
expect(true)
.toBe(true)
});
Из чего состоит UI библиотека?
Как тестировать CSS?
- Тестирование скриншотами
- Выбор инструмента
- Объект тестирования
- Кроссплатформенность
BackstopJS
- Простейшая конфигурация
- Работает напрямую с Headless Chrome
- Легко запустить локально
- Визуальные отчёты
BackstopJS
Что скриншотить?
React Storybook
- Разработка и тестирование
- Hot Module Replacement
- Документация
- Можно спрятать интерфейс
- Генерация сценариев
React Storybook
React Storybook
Генерация сценариев
Используйте Docker
- Одинаковые результаты в любом окружении
- Один образ в CI и локально
Результат
- Удобное средство разработки
- End-to-End тестирование
- Тесты пишутся сами
- ESLint, TypeScript, Flow по вкусу
Лень
test('Оберег', () => {
expect(true)
.toBe(true)
});
100% coverage