← Назад к вопросам
Какой процент кода покрыт Unit тестами?
1.8 Middle🔥 141 комментариев
#SOLID и паттерны проектирования#Тестирование
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Процент покрытия кода Unit тестами
Стандарты индустрии
Нет одного «магического» числа, но есть практические ориентиры:
- 70-80% — минимум для production-ready проекта
- 80-90% — хороший стандарт для зрелых команд
- 90%+ — критичные системы, финансовый софт, медицина
- 100% — нереально и не всегда полезно
Что на самом деле важно
Не только количество, но качество:
// Плохой тест (низкое качество)
@Test
public void testGetUser() {
User user = userRepository.findById(1L);
assertNotNull(user);
}
// Хороший тест (проверяет поведение)
@Test
public void shouldReturnUserWithCorrectEmail() {
User user = userRepository.findById(1L);
assertThat(user.getEmail()).isEqualTo("john@example.com");
}
Стратегия покрытия по слоям
Domain (бизнес-логика): 90-100%
Это самый критичный код, проверяем все граничные случаи.
Application (use cases): 80-90%
Проверяем правильный вызов сервисов и error handling.
Infrastructure (БД, HTTP): 60-70%
Фокусируемся на исключительных случаях, часто оставляем интеграционные тесты.
Presentation (API): 70-80%
Проверяем status codes, headers, error responses.
Что НЕ нужно тестировать
- Getters/Setters без логики
- Boilerplate код
- Конфигурационные классы
- Библиотечный код фреймворков
Инструменты
JaCoCo для Java:
plugins {
id 'jacoco'
}
jacoco {
finalizedBy jacocoTestReport
}
Реальная практика
85% покрытия — идеальная точка баланса. Достаточно для обнаружения большинства багов, не требует чрезмерных трудозатрат. Фокусируемся на качестве, а не количестве.