Лучшие Практики Тестирования (Testing Best Practices)
1. Иерархия и Стратегия
- •E2E (End-to-End): Обязательно для каждой задачи.
- •Этап Заглушек: Проверяйте хардкодные значения (верификация структуры).
- •Этап Реализации: Проверяйте реальную логику (верификация поведения).
- •Unit (Модульные): Покрывайте граничные случаи, обработку ошибок и специфические алгоритмы.
- •Регрессия: ВСЕГДА запускайте полный набор тестов перед сдачей.
2. Критические Правила
- •НИКАКИХ МОКОВ LLM в Тестах: Не мокайте вызовы OpenAI/Anthropic в стандартных тестах. Используйте записанные ответы (VCR.py) или отдельные интеграционные окружения.
- •Реализм: Минимизируйте моки. Тестируйте реальные возможности компонентов, где это возможно.
- •Изоляция: Тесты должны быть независимыми. Состояние базы данных должно сбрасываться между тестами.
- •Окружение: Используйте виртуальное окружение проекта (например,
/opt/projects/.../venv).
3. Именование и Структура
- •Понятные Имена:
test_shoud_return_error_when_invalid_input. - •Организация: Зеркалируйте структуру исходного кода (
src/auth->tests/auth). - •Docstrings: Указывайте ЧТО именно тестируется.