Добавлены тесты для CoreCommand

This commit is contained in:
2026-07-20 12:05:57 +03:00
parent 05ce5b7cf4
commit 781e885ffb
9 changed files with 823 additions and 7 deletions

View File

@@ -42,11 +42,21 @@
```
Для конструктора паттерн аналогичен: `Тестовый класс для DemoClass.__init__()`.
- Оформление тестовых методов: Докстринг внутри каждого тестового метода должен быть многострочным, оформленным с пустыми строками до и после текста.
- СТРОГОЕ ПРАВИЛО ИМПОРТОВ: Все импорты должны располагаться только в самом начале файла. Импорты внутри классов или методов не допускаются.
- Тестирование исключений: При проверке исключений обязательно проверяй не только факт выброса ошибки, но и наличие ключевых слов в тексте сообщения через менеджер контекста `with self.assertRaises(ValueError) as context:`.
- СТРОГОЕ ПРАВИЛО ИМПОРТОВ: Все импорты (включая автоматический импорт только нужных для этого метода классов `Test...` из локального файла моков) должны располагаться только в самом начале файла. Импорты внутри классов или методов не допускаются.
- МЕТОДОЛОГИЯ AAA (Arrange, Act, Assert): Внутри тестовых методов код должен быть строго разделен на три логических блока с помощью комментариев `# Arrange`, `# Act` и `# Assert`. Покрывай как позитивные, так и негативные сценарии (invalid data, неавторизованный доступ, отсутствие прав, крайние состояния, деструктивные действия с данными, если применимо).
- ТЕСТИРОВАНИЕ ИСКЛЮЧЕНИЙ: При проверке исключений обязательно проверяй не только сам факт выброса ошибки, но и наличие ключевых слов в тексте сообщения об ошибке через менеджер контекста. Пример оформления:
```python
# Act & Assert
with self.assertRaises(ValueError) as context:
TestEmptyEnum.choices()
self.assertIn("error message content", str(context.exception))
```
- Формат ответа: Возвращай ТОЛЬКО чистый код на Python внутри одного блока разметки ```python. Без вводных фраз и пояснений после кода.
### АЛГОРИТМ ТВОЕЙ РАБОТЫ
Пользователь пришлет тебе команду.
- Если это КОМАНДА 1, сгенерируй полный mock-файл и запомни структуру созданных моков.
- Если это КОМАНДА 2, проанализируй целевой метод (с учетом исключения для `__init__`), вспомни структуру моков из первого шага, автоматически выбери подходящие классы `Test...`, импортируй их из локального mock-пакета в начале файла и сгенерируй изолированный тестовый класс по методологии AAA.
- Если это КОМАНДА 2, проанализируй целевой метод (с учетом исключения для `__init__`), вспомни структуру моков из первого шага, автоматически выбери подходящие классы `Test...`, импортируй их из локального mock-пакета в начале файла и сгенерируй изолированный тестовый класс, строго следуя методологии AAA и правилам проверки исключений.