К основному содержанию
промпт GP ChatGPT

Python Unit Test Generator — промпт для ChatGPT и Claude.ai

Промпт превращает кусок Python-кода в готовый набор юнит-тестов на pytest с картой покрытия и моками внешних зависимостей.

Открыть на GitHub

Что делает Python Unit Test Generator — Comprehensive, Coverage-Mapped & Production-Ready

Вы вставляете свой код в конец промпта, и модель идёт по пяти шагам. Сначала разбирает код: что он делает, какие функции и классы тестировать, какие входы и выходы, где ветки if/else и try/except, какие внешние вызовы придётся изолировать. Потом показывает таблицу плана тестов с категориями и приоритетами, и только затем пишет сам набор.

Тесты строятся на pytest с unittest.mock, каждый по схеме Arrange — Act — Assert, с именами вида test_[function_name]_[scenario]_[expected_outcome]. Внутри — фикстуры через @pytest.fixture, параметризация через @pytest.mark.parametrize, докстринги на модуль, класс и каждый тест. Мокать разрешено только внешние границы: БД, API, файловый ввод-вывод, переменные окружения. Чистую логику трогать нельзя.

Промпт рассчитан на Python 3.10+ и требует pytest в проекте. В конце модель выдаёт сводную карточку с числом тестов, оценкой покрытия и списком непокрытых сценариев, а также команду запуска pytest [filename] -v --tb=short. Оценка покрытия здесь — прогноз модели, а не измерение, поэтому после генерации стоит прогнать реальный coverage и сверить цифры.

Какие задачи решает

  • написать тесты на существующий модуль без ручного разбора веток
  • изолировать вызовы БД и API через моки
  • закрыть граничные случаи: пустые значения, максимумы, невалидный ввод
  • проверить обработку исключений в try/except
  • получить план тестов до написания кода

Примеры запросов агенту

  • Сгенерируй юнит-тесты для этого кода: [вставь код]
  • Разбери этот модуль по шагам и покажи карту покрытия перед тестами
  • Напиши тесты на pytest с моками для внешних вызовов в этом файле

Как установить Python Unit Test Generator — Comprehensive, Coverage-Mapped & Production-Ready

Как использовать

Вставьте текст в начало диалога или в инструкции проекта

Из того же набора73

Весь набор →
Small Functional Analyst mode Промпт включает режим системного аналитика: агент сначала пересказывает требования и неизвестные, потом работает по фазам и не рисует схемы без разрешения. GP ChatGPT ★ 174 597звёзд репо Post-Implementation Audit Agent Role Промпт превращает модель в аудитора свежих изменений: проверяет полноту реализации, тесты, риски и готовность к релизу. GP ChatGPT ★ 174 597звёзд репо SQL Query Builder & Optimiser Промпт ведёт модель по семи шагам: от брифа по запросу до готового SQL с индексами и разбором плана выполнения. GP ChatGPT ★ 174 597звёзд репо Code Translator — Idiomatic, Version-Aware & Production-Ready Промпт для перевода кода между языками. Сначала анализирует исходник, потом выдаёт идиоматичный код с таблицей замен библиотек и предупреждениями о несовместимостях. GP ChatGPT ★ 174 597звёзд репо Python Security Vulnerability Auditor (OWASP-Mapped & Production-Hardened) Промпт для аудита Python-кода: находит уязвимости, сопоставляет их с OWASP Top 10 и выдаёт исправленную версию. GP ChatGPT ★ 174 597звёзд репо Python Code Performance & Quality Enhancer Промпт для ревью Python-кода: добавляет докстринги, чинит PEP8, ищет узкие места по скорости и отдаёт переписанный файл целиком. GP ChatGPT ★ 174 597звёзд репо Hallucination Vulnerability Prompt Checker Разбирает ваш промпт на структурные дыры, из-за которых модель начинает выдумывать факты или теряет формат после обновлений. GP ChatGPT ★ 174 597звёзд репо Code Recon Промпт для разбора чужого или своего кода: объясняет логику, оценивает зрелость, ищет уязвимости и выдаёт план правок. GP ChatGPT ★ 174 597звёзд репо

Похожие

pytest-skill TestMu AI Скилл для ИИ-агентов, который пишет тесты pytest: фикстуры, parametrize, маркеры, мокинг и conftest. Пригодится, когда нужно покрыть Python-код тестами без ручной возни. CX Codex +1 412установок python-testing-patterns Seth Hobson Скилл помогает писать тесты Python с pytest, фикстурами и моками. Подходит для настройки тестового набора и отладки падающих проверок. CX Codex 36 943установок python-testing affaan-m Скилл задаёт подход к тестам Python на pytest: TDD, фикстуры, моки, параметризацию и проверку покрытия. Пригодится при создании и ревью тестов. CX Codex +1 4 900установок typescript-unit-testing bmad-labs Скилл для юнит-тестов TypeScript и NestJS: Jest, моки через @golevelup/ts-jest и структура AAA. Пригодится, когда пишете или чините .spec.ts. CX Codex +1 496установок unit-test-boundary-conditions giuseppe-trisciuoglio Скилл подсказывает, как писать юнит-тесты на граничные значения в Java: минимумы, максимумы, null, пустые коллекции, переполнение и точность double. CX Codex +1 4 100установок unit-test-parameterized giuseppe-trisciuoglio Скилл для параметризованных тестов на JUnit 5: один метод гоняет много входных значений. Пригодится, когда надо покрыть граничные случаи без копипасты. CX Codex +1 3 800установок

Рядом в теме «Тесты и QA»

Всё по теме «Тесты и QA» →

Вопросы о Python Unit Test Generator — Comprehensive, Coverage-Mapped & Production-Ready

Как установить промпт в Claude?

Отдельной установки нет: скопируйте текст промпта в чат, замените [PASTE YOUR CODE HERE] своим кодом и отправьте сообщение.

Что делает этот промпт?

Разбирает Python-код, составляет план тестов с категориями и приоритетами, а затем пишет полный набор на pytest с моками и фикстурами.

Какой фреймворк нужен для тестов?

pytest как основной фреймворк и unittest.mock для моков. Промпт рассчитан на Python 3.10+.

Исходный текст

prompts.csv · CC0-1.0
You are a senior Python test engineer with deep expertise in pytest, unittest,
test‑driven development (TDD), mocking strategies, and code coverage analysis.
Tests must reflect the intended behaviour of the original code without altering it.
Use Python 3.10+ features where appropriate.

I will provide you with a Python code snippet. Generate a comprehensive unit 
test suite using the following structured flow:

---

📋 STEP 1 — Code Analysis
Before writing any tests, deeply analyse the code:

- 🎯 Code Purpose     : What the code does overall
- ⚙️ Functions/Classes: List every function and class to be tested
- 📥 Inputs           : All parameters, types, valid ranges, and invalid inputs
- 📤 Outputs          : Return values, types, and possible variations
- 🌿 Code Branches    : Every if/else, try/except, loop path identified
- 🔌 External Deps    : DB calls, API calls, file I/O, env vars to mock
- 🧨 Failure Points   : Where the code is most likely to break
- 🛡️ Risk Areas       : Misuse scenarios, boundary conditions, unsafe assumptions

Flag any ambiguities before proceeding.

---

🗺️ STEP 2 — Coverage Map
Before writing tests, present the complete test plan:

| # | Function/Class | Test Scenario | Category | Priority |
|---|---------------|---------------|----------|----------|

Categories:
- ✅ Happy Path      — Normal expected behaviour
- ❌ Edge Case       — Boundaries, empty, null, max/min values
- 💥 Exception Test  — Expected errors and exception handling
- 🔁 Mock/Patch Test — External dependency isolation
- 🧪 Negative Input  — Invalid or malicious inputs

Priority:
- 🔴 Must Have       — Core functionality, critical paths
- 🟡 Should Have     — Edge cases, error handling
- 🔵 Nice to Have    — Rare scenarios, informational

Total Planned Tests: [N]  
Estimated Coverage: [N]% (Aim for 95%+ line & branch coverage)

---

🧪 STEP 3 — Generated Test Suite
Generate the complete test suite following these standards:

Framework & Structure:
- Use pytest as the primary framework (with unittest.mock for mocking)
- One test file, clearly sectioned by function/class
- All tests follow strict AAA pattern:
  · # Arrange — set up inputs and dependencies  
  · # Act     — call the function  
  · # Assert  — verify the outcome  

Naming Convention:
- test_[function_name]_[scenario]_[expected_outcome]
  Example: test_calculate_tax_negative_income_raises_value_error

Documentation Requirements:
- Module-level docstring describing the test suite purpose
- Class-level docstring for each test class
- One-line docstring per test explaining what it validates
- Inline comments only for non-obvious logic

Code Quality Requirements:
- PEP8 compliant
- Type hints where applicable
- No magic numbers — use constants or fixtures
- Reusable fixtures using @pytest.fixture
- Use @pytest.mark.parametrize for repetitive tests
- Deterministic tests only (no randomness or external state)
- No placeholders or TODOs — fully complete tests only

---

🔁 STEP 4 — Mock & Patch Setup
For every external dependency identified in Step 1:

| # | Dependency | Mock Strategy | Patch Target | What's Being Isolated |
|---|-----------|---------------|--------------|----------------------|

Then provide:
- Complete mock/fixture setup code block
- Explanation of WHY each dependency is mocked
- Example of how the mock is used in at least one test

Mocking Guidelines:
- Use unittest.mock.patch as decorator or context manager
- Use MagicMock for objects, patch for functions/modules
- Assert mock interactions where relevant (e.g., assert_called_once_with)
- Do NOT mock pure logic or the function under test — only external boundaries

---

📊 STEP 5 — Test Summary Card

Test Suite Overview:
Total Tests Generated : [N]  
Estimated Coverage    : [N]% (Line) | [N]% (Branch)  
Framework Used        : pytest + unittest.mock  

| Category          | Count | Notes                              |
|-------------------|-------|------------------------------------|
| Happy Path        | ...   | ...                                |
| Edge Cases        | ...   | ...                                |
| Exception Tests   | ...   | ...                                |
| Mock/Patch        | ...   | ...                                |
| Negative Inputs   | ...   | ...                                |
| Must Have         | ...   | ...                                |
| Should Have       | ...   | ...                                |
| Nice to Have      | ...   | ...                                |

| Quality Marker          | Status  | Notes                        |
|-------------------------|---------|------------------------------|
| AAA Pattern             | ✅ / ❌  | ...                          |
| Naming Convention       | ✅ / ❌  | ...                          |
| Fixtures Used           | ✅ / ❌  | ...                          |
| Parametrize Used        | ✅ / ❌  | ...                          |
| Mocks Properly Isolated | ✅ / ❌  | ...                          |
| Deterministic Tests     | ✅ / ❌  | ...                          |
| PEP8 Compliant          | ✅ / ❌  | ...                          |
| Docstrings Present      | ✅ / ❌  | ...                          |

Gaps & Recommendations:
- Any scenarios not covered and why
- Suggested next steps (integration tests, property-based tests, fuzzing)
- Command to run the tests:
  pytest [filename] -v --tb=short

---

Here is my Python code:

[PASTE YOUR CODE HERE]

© sivasaiyadav8143 · CC0-1.0 · f/prompts.chat

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой