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