Интеграционные тесты также эмулируют DOM и HTTP-взаимодействие. Мы не можем быть уверены, что компонент действительно рендерится в браузере и сервис правильно работает с сетью. Для фронтенд-тестирования это правило работает так же хорошо.

Функциональный тест похож на интеграционный тест в классическом понимании — мы тестируем всю фичу целиком, но при этом не используем реальный браузер и реальные тестирование верстки запросы. В платных инструментах удобнее смотреть изменения. В Loki.js и Creevey мы много работаем в консоли — это может быть неудобно для не-разработчиков.
Можем ли мы перестать тестировать вёрстку руками
Frontend инфраструктура позволяет с легкостью мокать окружение (браузер, сеть и тд). Но старайтесь не мокать внутреннюю имплементацию своего кода. Пирамида тестирования работает, но не во фронтенде. У фронтенда своя пирамида, в которой требуется больше интеграционных тестов. Теперь тест читается как сценарий использования (документация) и похож на естественный язык.

Сам разработчик галена охотно идёт на сотрудничество и регулярно выпускает обновления для этого инструмента, которые расширяют его возможности и делают его ещё более удобным. Сам он планирует написание документации по интеграции галена с TestNG. После того, как определились с инструментом тестирования каркаса сайта, следующей задачей было выбрать схему, позволяющую обеспечить максимальное покрытие страницы Galen-тестами. На откуп скриншот-тестов выпадают различные лого, кнопочки, некоторые блоки со специфичным отображением — все, до чего не дотягивается Galen и что сложно/невозможно проверить функциональными тестами.
Creevey
Изображения с исходным дизайном блоков в различных состояниях. Ни один человек не в состоянии удержать всё это в голове. И тем более быть уверенным в качестве вёрстки каждого блока. Можно разбивать вёрстку на блоки поменьше, уменьшая количество состояний в каждом, но порядок числа вряд ли сильно изменится.
- Истории – это обычные функции, которые возвращают верстку.
- Отдельные сервисы для проверки емейлов предлагают такую же услугу за отдельную плату.
- При реализации взаимодействия TestNG с галеном у нас возникли некоторые проблемы, которые были оперативно решены благодаря взаимодействию с разработчиком галена.
- Для проверки этой гипотезы создается два письма, в теме одного из которых есть обращение по имени, а в другом – нет.
В идеале такие тесты можно проектировать вместе с аналитиком, тестировщиком или дизайнером. Проверяем, что поиск был вызван с нужными параметрами, а на странице есть результаты поиска. Теперь проверим был ли вызван поиск с тем текстом, который мы вводили с помощью testing-library и отобразил ли компонент результаты поиска в DOM-дереве. В сервис может зайти дизайнер и посмотреть изменения в компонентах в своей ветке, а затем подтвердить или отклонить.
Как это работает
Для проверки этой гипотезы создается два письма, в теме одного из которых есть обращение по имени, а в другом – нет. Затем эти письма ставят в А/В тест и отправляют части аудитории. По результатам теста выбирают сообщение, открываемость которого была больше, и отправляют остальным адресам.

Поэтому мы сделали для себя простой и удобный инструмент. По большому счету он просто выводит те данные, которые мы сами сохраняем в конфигурационных файлах блоков. Но несмотря на кажущуюся простоту, для нашей команды Makeup стал основой рабочего процесса разработки интерфейсов. С его помощью мы всегда знаем о самочувствии проекта и можем в любой момент увидеть полную картинку проекта с точки зрения вёрстки. При этом нужно отдавать себе отчёт в том, что положиться на инструмент можно только в том случае, если описанные нами тест-кейсы использования обеспечивают достаточное покрытие. Здесь работают те же принципы, как и при написании тестов.
Простой макет
К слову, сплит-тестирование темы письма вы можете провести сразу в eSputnik. При создании новой рассылки нужно задать два или более вариантов темы письма. А при отправке система автоматически разделит получателей и отправит им емейл с разными версиями темы. Оценить результаты тестирования можно будет в разделе “Отчеты” — “Эксперименты”. Но они покрывают только статичные сценарии.
Нужен тестировщик верстки и сайта на DLE
О технических аспектах работы с Galen Framework, его возможностях и основных проверках мы рассказали на прошедшем Selenium Camp, и еще напишем в блоге. Запускаем тестовый сценарий через обычный Cucumber Runner. Надпись на кнопке, конечно, близка к истине, цены там — реально боль, но это явно не то, что задумывалось создателями сайта. В общем, такие моменты надо отслеживать и исправлять, вне зависимости от того, что они вызывают — неудобство или улыбку.
Тестировать верстку? Легко
Тогда при рефакторинге блока, когда разработчик проверит все состояния блока, он может быть уверен, что этот баг не воспроизводится. Вы можете решить, что написание и поддержка актуальных конфигурационных файлов — немыслимая задача. При разработке приложения мы хотим, тратя минимальные усилия на описание структуры блоков, иметь инструмент, который поможет держать под контролем всю вёрстку. Для того, чтобы решить эту задачу, надо тесно интегрировать такой подход со сборкой вашего приложения. Состояние блока — это его конечное отображение при определенном наборе элементов, модификаторов и при определенном контенте.
Гайд по разработке приложения для финансов
Для тестов поведения отлично подходит связка testing-library, инструмент для мока сетевых запросов и паттерн pageObject. При этом у этих инструментов есть бесплатные тарифы для Open Source и достаточно дешевые платные тарифы, которые начинаются от 30$ в месяц. Необязательно поднимать отдельный веб-сервис Storybook.