Files
core/docs/progress/test-collection-fix-2025-08-12.md
Untone aad8c7b3d5
Some checks failed
Deploy on push / deploy (push) Failing after 2m16s
docs: add test collection fix progress report
2025-08-12 13:24:36 +03:00

71 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Исправление проблемы сбора тестов - 2025-08-12
## Проблема
При запуске тестов в CI/CD возникала ошибка:
```
ERROR collecting tests/test_delete_existing_community.py
ConnectionRefusedError: [Errno 111] Connection refused
```
## Причина
Файл `tests/test_delete_existing_community.py` содержал исполняемый код на уровне модуля, который выполнялся при импорте pytest'ом. Код пытался подключиться к `localhost:8000` для выполнения HTTP-запросов, но сервер не был запущен.
## Решение
Обернул весь код в тестовую функцию `test_delete_existing_community()`:
### До исправления:
```python
# Код выполнялся при импорте модуля
print("🔐 Авторизуемся...")
response = requests.post(url, json={"query": login_mutation, "variables": login_variables})
# ... остальной код
```
### После исправления:
```python
def test_delete_existing_community():
"""Тест удаления существующего сообщества через API"""
print("🔐 Авторизуемся...")
response = requests.post(url, json={"query": login_mutation, "variables": login_variables})
# ... остальной код
```
## Результаты
### ✅ Исправлено
- Ошибка сбора тестов устранена
- Все 361 тест теперь собирается корректно
- Сохранена функциональность при запуске как скрипт
### 🔧 Дополнительные улучшения
- Добавлен импорт `pytest` для корректной работы
- Заменены `exit(1)` на `pytest.fail()` для корректного тестирования
- Добавлены assert'ы для проверки результатов
- Добавлен блок `if __name__ == "__main__"` для запуска как скрипт
## Проверка
```bash
# Сбор тестов работает корректно
uv run pytest --collect-only
# Результат: 361 tests collected in 3.45s
# Отдельный тест запускается без ошибок
uv run pytest tests/test_delete_existing_community.py -v
# Результат: тест падает с ожидаемой ошибкой подключения (но не при сборе)
```
## Статус
✅ Проблема полностью решена
Все тесты собираются корректно
✅ CI/CD может продолжать работу
✅ Функциональность теста сохранена
## Коммиты
- `124763b` - fix: wrap test_delete_existing_community.py code in test function
- `6c12126` - chore: update project author information
## Следующие шаги
1. Запустить полный набор тестов в CI/CD
2. Убедиться, что все тесты проходят сбор
3. Рассмотреть возможность добавления моков для HTTP-запросов в тестах