Проект

Тестирование виджета чат-бота

Автоматизация тестирования фронтенда

В этом проекте предстоит протестировать готовый виджет чат-бота, который встраивается на страницу и общается с пользователем по сценарию

2-4
недели

Цель

Задача проекта — научиться тестировать сложные компоненты веб-приложений, используя Testing Library. В данном проекте вы протестируете чат-бот, реализованный в виде npm-библиотеки. Вы проверите, как чат-бот ведет себя в различных сценариях, включая взаимодействия с пользователем и смену состояний на основе заданной конфигурации. В процессе вы освоите принципы тестирования React-компонентов, убедитесь в корректности работы логики интерфейса и познакомитесь с ключевыми аспектами юнит и интеграционного тестирования.

Описание

В этом проекте вы будете заниматься тестированием чат-бота, который представлен в виде npm-пакета. Пакет экспортирует функцию, принимающую конфигурацию поведения чат-бота, и возвращает React-компонент, представляющий интерфейс чата. Конфигурация описывает различные состояния чат-бота и возможные переходы между ними с помощью кнопок, определяя логику взаимодействия с пользователем.

Задача тестирования включает проверку следующих аспектов:

  • Корректность отображения интерфейса чата в разных состояниях.
  • Правильность смены состояний при взаимодействии пользователя с чат-ботом.
  • Соответствие поведения чат-бота заданной конфигурации.
  • Обработка пограничных случаев, таких как некорректные данные в конфигурации.

В проекте вы будете использовать инструменты Testing Library, которые позволят эмулировать поведение пользователя, производить тесты на взаимодействие с элементами интерфейса, и проверять визуальные изменения и логику переходов. Вы также научитесь работать с асинхронными действиями, что важно для корректного тестирования сложных взаимодействий и состояний React-компонентов.

chat bot

chat bot

Сколько стоят проекты?

Проекты входят в стоимость обучения на любом плане: самостоятельном, групповом и индивидуальном. Дополнительно платить не нужно.

Зачем проходить проекты?

Проекты дают опыт разработки в реальной среде. Проходите каждый проект сразу после изучения курсов, которые стоят в учебном плане перед ним, — это отличный способ глубже разобраться в материале.

Проекты — портфолио программиста. Их код останется в вашем аккаунте на GitHub и будет преимуществом при поиске работы.

Чтобы узнать о том, что такое проекты и в чём их польза, прочитайте нашу статью «Анатомия проектов Хекслета».

Что делать, если возникли трудности во время выполнения проекта?

Задавайте вопросы в разделе «Обсуждение» на странице шага, на котором возникли трудности, или вашему наставнику. Изучите вопросы других студентов в «Обсуждениях»: там собрана большая база знаний, ей можно и нужно пользоваться.

Кто проверяет проекты?

Автоматизированные тесты и линтер. В групповом и индивидуальном форматах наставник дополнительно проверит то, что тестами проверить невозможно (архитектуру проекта, правильность именования, удачность решений), и проведёт код-ревью, чтобы сделать проект ещё качественнее.

У меня другой вопрос

Нажмите на виджет в правом нижнем углу экрана и поищите ответ в нашей справке. Или сразу пишите на support@hexlet.io — вам ответит живой человек из команды Хекслета.