Промпт для генерации юнит-тестов с pytest

×

Генерация юнит-тестов с pytest

Данный промпт помогает автоматически сгенерировать структурированные юнит-тесты для pytest на основе кода пользователя. Он задаёт ключевые параметры, разбивает процесс на этапы, описывает критерии успешного выполнения и предупреждает о типичных ошибках, обеспечивая точность и полноту тестирования.

Иконка глаза 1
Категория: Написание кода
Модели: ChatGPT Claude Grok DeepSeek
Промпт на русском языке:

Входные параметры:
1. Кодовый файл: [source_code]
2. Название модуля: [module_name]
3. Путь для тестов: [test_path]
4. Имя тестового файла: [test_filename]
5. Список функций для тестирования: [functions_list]

Шаги:
1. Прочитать код из [source_code] и проверить наличие всех функций из [functions_list].
2. Создать директорию [test_path], если она не существует.
3. Сгенерировать файл pytest [test_path]/[test_filename] с импортом модуля [module_name].
4. Для каждой функции из [functions_list] добавить:
   a. Описание тест-кейса.
   b. Подготовку входных данных.
   c. Проверку ожидаемого результата через assert.
5. Запустить pytest и убедиться, что все тесты проходят без ошибок.

Критерии успеха:
- Покрыты все функции из [functions_list].
- Тесты выполняются командой `pytest` без ошибок.
- Названия тестов понятны и соответствуют функциям.

Типичные ошибки:
- Отсутствие импорта модуля [module_name].
- Неправильное использование assert для сравнения.
- Несоответствие имен тестовых функций и реальных функций.

Промпт на английском языке:

Input parameters:
1. Source code file: [source_code]
2. Module name: [module_name]
3. Test directory path: [test_path]
4. Test file name: [test_filename]
5. Functions list to test: [functions_list]

Steps:
1. Read [source_code] and verify all functions from [functions_list] exist.
2. Create directory [test_path] if missing.
3. Generate pytest file [test_path]/[test_filename] importing [module_name].
4. For each function in [functions_list]:
   a. Describe the test case.
   b. Prepare input data.
   c. Assert expected output.
5. Run pytest to confirm all tests pass.

Success criteria:
- All listed functions are covered.
- `pytest` completes without failures.
- Test names clearly map to functions.

Common pitfalls:
- Missing import of [module_name].
- Incorrect assert usage.
- Test function names not matching target functions.