Какие пишешь unit-тесты
Python
Middle
Без компании
Какие пишешь unit-тесты
Ответы
Unit-тесты проверяют минимальные изолированные части кода (обычно функции/методы) на корректность работы. Основные принципы:
- **Изолированность** - тесты не зависят друг от друга и внешних состояний
- **Детерминированность** - одинаковый результат при одинаковых входных данных
- **Простота** - один тест проверяет один сценарий
Пример теста для функции сложения:
```
import unittest
def add(a, b):
return a + b
class TestAdd(unittest.TestCase):
def test_add_positive(self):
self.assertEqual(add(2, 3), 5)
def test_add_negative(self):
self.assertEqual(add(-1, -1), -2)
def test_add_zero(self):
self.assertEqual(add(0, 0), 0)
```
Какие тесты писать:
- Пограничные случаи (edge cases)
- Некорректные входные данные
- Все возможные ветви выполнения
- Критические бизнес-сценарии
- Регрессионные тесты для исправленных багов
Использую pytest/unittest, стараюсь покрывать 70-80% кода (критическую логику - 100%).