3.5 KiB
3.5 KiB
Тип, Статус, Название, Автор, Количество страниц, Прогресс, Формат, Обложка, Начата, Закончена, Оценка, Сложность, Теги, Категории, Источник, Ссылка
| Тип | Статус | Название | Автор | Количество страниц | Прогресс | Формат | Обложка | Начата | Закончена | Оценка | Сложность | Теги | Категории | Источник | Ссылка | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Книга | Прочитано | Принципы юнит-тестирования |
|
320 | 320 | Бумажная | Библиотека/Книги/covers/unit-testing.jpg | 2025 | 2025 | 9 | 7/10 |
|
|
Принципы юнит-тестирования
📖 О книге
Одна из лучших книг о юнит-тестировании на практике. Владимир Хориков (Microsoft MVP) разбирает не просто «как писать тесты», а «что делает тест хорошим». Центральная идея — тесты должны проверять поведение, а не реализацию. Книга охватывает стили тестирования, работу с моками, архитектуру тестируемого кода и интеграционные тесты. Ориентирована на C#/.NET, но принципы универсальны.
🧠 Ключевые идеи
- Четыре свойства хорошего теста: защита от регрессий, устойчивость к рефакторингу, быстрая обратная связь, удобство сопровождения — и между ними неизбежный компромисс
- Тестировать поведение, не реализацию: тест, завязанный на детали реализации, хрупок — он будет ломаться при рефакторинге, не обнаруживая реальных багов
- Моки — инструмент, не цель: злоупотребление моками приводит к тестам, которые проверяют взаимодействие объектов вместо бизнес-результата
- Классическая vs лондонская школа TDD: классики тестируют единицы поведения, лондонцы — единицы кода; автор отдаёт предпочтение классическому подходу
- Интеграционные тесты дополняют, не заменяют: они покрывают то, что юнит-тесты не могут — взаимодействие с БД, файловой системой, внешними сервисами
💬 Важные цитаты
«Тест, который не может сломаться при наличии бага, бесполезен. Тест, который ломается без бага, вреден.»
«Цель юнит-тестирования — обеспечить устойчивый рост проекта, а не максимальное покрытие кода.»
