Тёмный

Клуб технических практик. Тема: Рекомендации по unit-тестированию Vue-приложений 

SM Lab
Подписаться 1,9 тыс.
Просмотров 79
50% 1

#smlab #клубтехпрактик
Клуб технических практик. Тема: Рекомендации по unit-тестированию Vue-приложений
00:00 Юнит-тестирование в View приложениях
• Обсуждение темы юнит-тестирования в View приложениях, где компонент является сущностью, зависящей от фреймворка.
• Рекомендация использовать подход, сочетающий классическое и интеграционное тестирование.
05:45 Артефакты и подходы к тестированию
• Артефакты на выходе: HTML, события, вызовы внешних сущностей, взаимодействие с другими компонентами.
• Тестирование поведения компонента: HTML, события, взаимодействие с другими компонентами, изменение внешнего состояния.
• Запрет на проверку значений вычисляемых свойств компонента.
• Важность тестирования компонента как чёрного ящика и предсказуемого окружения.
13:29 Тестирование компонентов
• Обсуждение важности изолированности тестов и использования Set props только для тестирования работы компонентов и их свойств.
• Компоненты должны тестироваться как черные ящики, без глубокого изучения их внутренней реализации.
20:01 Методологии тестирования
• Обсуждение двух методологий тестирования: черный ящик и белый ящик.
• Для фронтенда рекомендуется использовать подход черного ящика, так как внутренняя реализация компонентов часто меняется.
22:18 Тестирование бизнес-логики
• Бизнес-логика, заложенная в компоненте, должна влиять на его поведение и отражаться в требованиях к компоненту.
• Тестирование бизнес-логики может быть выполнено внутри компонента или как часть черного ящика.
26:04 Тестирование компонентов
• Обсуждение использования функции Mount для тестирования компонентов.
• Упоминается, что фреймворк не знает, что рендерит компонент, и это нужно проверять.
• Упоминается блог по тестам, который может быть полезен.
30:43 Плюсы и минусы разных подходов
• Использование Mount рендерит все дерево компонентов, что может привести к хрупкости тестов.
• Shell Mount рендерит только тестируемый компонент, что делает тесты более честными и устойчивыми.
• Shell Mount позволяет описать контракт с компонентом и его ожидаемое поведение.
36:10 Рекомендации по использованию Mount
• Рекомендуется использовать Shell Mount для тестирования компонентов.
• Если требуется проверить сложные сценарии взаимодействия компонента с пользователем или другими компонентами, можно использовать Mount.
• Рекомендуется отводить отдельный блок в файле с тестами для Mount-тестов.
38:53 Поиск элементов в тестах
• В тестах рекомендуется искать элементы по интуитивно понятным для пользователя сценариям, например, по кнопке с надписью "Оформить заказ".
• Если элемент не доступен для прямого взаимодействия, можно использовать атрибуты Data Test ID или aria-attributes.
44:25 Приоритет поиска по атрибутам
• Если атрибуты присутствуют в приложении, рекомендуется использовать их для поиска элементов.
• Если атрибуты отсутствуют, можно использовать Data Test ID.
51:33 Поиск по тексту и классам
• Поиск по тексту может быть использован для проверки правильности вычисления текста, но не для поиска элементов.
• Классы могут меняться, но они не влияют на то, что видит пользователь.
53:28 Тестирование в изоляции и в связке с компонентами
• В видео обсуждается, как тестировать компоненты в изоляции и в связке с другими компонентами.
• В изоляции проще тестировать мутации и экшены, но в связке с компонентами можно увидеть, как они реагируют на изменения в сторе.
57:15 Зависимости и сайд-эффекты
• В видео обсуждаются зависимости, которые могут порождать сайд-эффекты.
• Если модуль содержит много логики, можно изолировать его и тестировать отдельные методы.
58:39 Стратегия тестирования и процент покрытия
• В видео обсуждается, что каждая команда должна определить свой уровень покрытия юнит-тестами.
• Рекомендуется покрывать тестами компоненты, входящие в U Kit приложения, компоненты, задействованные в главной дороге пользователя, и критичные для бизнеса функции.
01:02:44 Тестирование контрактов и крайних случаев
• В видео обсуждаются крайние случаи и пограничные значения, которые не стоит вычищать и придумывать.
• Вместо этого, лучше отдать задачу на ревью и тестирование впту, а затем, при необходимости, дописать тесты для поведения, в ходе которого выявлен баг.
01:05:34 Тестирование компонентов
01:08:31 Тестирование снапшотов
01:13:30 Рекомендации по использованию снапшотов
• Снапшоты должны использоваться аккуратно и только в тех местах, где они действительно полезны.
• Документ с рекомендациями может быть полезен для команд, но не должен быть обязательным для внедрения.
• Важно, чтобы команды имели общую концепцию подходов к тестированию, чтобы избежать разнобоя в подходах.

Опубликовано:

 

3 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1   
Далее
Как сделать викторину в PowerPoint
12:55
Как NAT спас интернет?
11:42
Просмотров 35 тыс.
QA Куратор
36:30
Просмотров 94