Пропустить до содержимого
angular challenges logo Angular Challenges

Тестирование

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

В этой серии упражнений по тестированию мы изучим и освоим Testing Library и Cypress Component Testing, которые упрощают манипуляции с DOM для тестирования любого компонента Angular.

Преимущества использования Testing Library или Cypress Component Testing заключаются в том, что вы тестируете свой компонент как черный ящик. Вы будете взаимодействовать только с тем, что пользователь может делать на интерфейсе. Однако отличие от полноценных тестов заключается в том, что бэкэнд замокан, что делает тесты быстрее и более поддерживаемыми. Цель состоит в том, чтобы мокать как можно меньше, чтобы тестировать ваш компонент на более высоком уровне, чем при модульном тестировании, что облегчит рефакторинг. В реальном приложении интеграционные тесты - это тесты, которые вы будете писать больше всего. Изучение того, как их писать, сделает ваше приложение более надежным и поддерживаемым.

Перед вами серия из 8 задач, которые вы можете решить в любом порядке.

🟢 Harness Узнайте, как тестировать с использованием компонентов Angular CDK harness
🟢 Checkbox Узнайте, как отлаживать ваши тесты с помощью Testing Library на простом приложении с флажками
🟠 Router Узнайте, как тестировать компоненты маршрутизатора
🟠 Nested Components Узнайте, как тестировать вложенные компоненты
🟠 Input Output Узнайте, как тестировать вводы и выводы
🟠 Modal Узнайте, как тестировать модальный компонент
🟠 Harness Creation Узнайте, как создать собственные харнесы для ваших компонентов
🔴 Реальное приложение Узнайте, как написать серию тестов для реальных приложений

Контрибьюторы

Спасибо всем контрибьюторам которые помогли сделать эту документацию лучше!

  • Dinozavvvr