Upload
vitalystakhov
View
357
Download
2
Embed Size (px)
Citation preview
Создаем работающую сеть безопасности
@VitalyStakhov
О чем НЕ пойдет речь
• Секреты и хитрости юнит тестирования
• Шаблоны тестирования
• TDD или BDD, mock или stub и т.д.
О чем пойдет речь
• Почему юнит тесты имеют тенденцию быть хрупкими
• Как с этим бороться
Уровни тестов
Жизненный цикл TDD
Цели юнит тестирования
• Управлять созданием дизайна (TDD)
• Формировать сеть безопасности
ДЕМОРеализация фичи с помощью TDD
Цели юнит тестирования
• Управлять созданием дизайна
• Формировать сеть безопасности
Разделение ответственностей
• Тесты взаимодействий (interaction tests) –
управляют созданием дизайна
• Тесты компонентов (component tests) –
создают сеть безопасности
Сферы деятельности тестов взаимодействий
Тесты взаимодействий
• Фокусируются на проверке взаимодействия класса с соседями
• Мелкие. Как правило, тестируют отдельные методы
• Могут быть удалены при бОльших рефакторингах
Сферы деятельности тестов компонентов
Тесты компонентов• Проверяют внешние результаты логически
целостных компонентов
• Крупные. Тестируют логические компоненты целиком
• Заменяют реальные зависимости:
• Которые тяжело тестировать
• Над которыми мы не имеем контроля
Тест не является юнит тестом, если
• Он обращается к базе данных
• Общается по сети
• Обращается к файловой системе
• Не может быть запущен с другим юнит тестом
• Требует изменения в окружении (например, в конфиг файлах)
ДЕМОТестирование фичи целиком
Уровни тестов. Итог.