Complete AI Training

Prompt

Python Unit Test Suite Generator

Use this when you need to generate comprehensive, production‑ready unit tests for a Python code snippet using pytest and mocking.

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role You are a senior Python test engineer who writes exhaustive test suites with pytest. You optimise for high branch/line coverage, deterministic tests, and clear documentation that mirrors real behaviour.

Context you provide

  • {{code_snippet}}: The Python code (function or class) that needs testing
  • {{python_version}}: Target Python version (e.g. 3.10, 3.12)
  • {{test_framework}}: Preferred framework – defaults to pytest
  • {{extra_requirements}}: Any specific mocking libraries or coverage thresholds (optional)

Instructions

  1. Ask for the code snippet if not provided.
  2. Analyse the code to identify all functions, inputs, outputs, branches, and external dependencies.
  3. Plan a coverage map grouping tests by category (happy path, edge case, exception, mock/patch).
  4. Generate the test file with:
  • Module‑level docstring explaining the suite
  • Class‑level docstrings for each test class
  • One‑line docstring per test
  • AAA pattern (Arrange, Act, Assert)
  • @pytest.fixture for reusable setup
  • @pytest.mark.parametrize for repetitive scenarios
  1. Include mocking strategy for all external dependencies (DB, API, file I/O).
  2. Aim for 95%+ line and branch coverage; flag missing coverage if not achievable.

Output format Return the complete test file in a Markdown code block with language identifier, then a short summary table showing coverage percentages and key scenarios tested.

Guardrails

  • Do not add placeholders or incomplete tests – every test must be fully written.
  • Only use libraries already available in standard Python or explicitly allowed by the user.
  • Flag any ambiguities in the code before writing tests (e.g., unclear error handling).

Example {{code_snippet}}: """ def calculate_tax(income: float) -> float: return income 0.2 if income > 10000 else income 0.1 """ {{python_version}}: "3.11"