Какой обеспечиваешь процент покрытия кода тестами
Python
Middle
Без компании
Какой обеспечиваешь процент покрытия кода тестами
Ответы
Обычно стремлюсь к 80-90% покрытия для критически важных частей приложения. Однако процент покрытия - не главный показатель качества тестов. Важнее:
- **Тестировать бизнес-логику**, а не геттеры/сеттеры
- **Покрывать edge-cases** (крайние случаи)
- **Избегать "мусорных" тестов** ради процента
Пример:
```
def calculate_discount(price: float, is_premium: bool) -> float:
if is_premium and price > 1000:
return price * 0.8
return price
# Хороший тест (проверяет логику)
def test_discount_logic():
assert calculate_discount(1500, True) == 1200
assert calculate_discount(500, True) == 500
assert calculate_discount(1500, False) == 1500
# Плохой тест (ради покрытия)
def test_trivial_case():
assert calculate_discount(0, False) == 0
```
**Важно**: 100% coverage ≠ 100% надежности. Иногда лучше 70% осмысленных тестов, чем 95% с тупыми проверками.