3.3 KiB
3.3 KiB
name, description, x-personal-mcp
| name | description | x-personal-mcp | |||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pytest-fill-scaffold | Fill scaffolded pytest test methods with assertions, fixtures, and minimal test data while preserving concise test names and one-line intent docstrings. |
|
Pytest Fill Scaffold
Use this prompt after test scaffolding exists and method names/docstrings are already in place.
Inputs
- Target test file(s) under tests/.
- Stack type:
- pure-python
- fastapi
- sqlalchemy-sync
- sqlalchemy-async
- mixed
- Optional constraints:
- keep implementation minimal vs comprehensive
- marker lane target (unit, integration, smoke)
Required References
Load these in order and use only what matches the task:
- Core defaults: pytest scaffolding skill
- Naming/hierarchy preservation: naming and organization
- Baseline pytest fixtures/markers: pytest docs notes
- FastAPI-specific behavior (only when needed): fastapi testing
- SQLAlchemy-specific behavior (only when needed): sqlalchemy testing
Workflow
- Inspect target files and treat human-reviewed docstring-only scaffolds as invariant.
- Convert each scaffolded method into an executable test with a single behavior focus.
- Keep one-line docstrings for class and method intent.
- Add or refine fixtures at the nearest useful scope:
- global in tests/conftest.py only when broadly reusable
- subtree conftest.py for domain-specific fixtures
- Assign markers consistent with cost and dependencies:
- unit for pure logic
- integration for framework/DB contracts
- smoke for thin critical-path checks
- Validate in this order:
- uv run pytest --collect-only -q
- uv run pytest -m unit -q when unit tests are touched
- uv run pytest -q if dependencies are available
Authoring Rules
- Prefer deterministic tests and explicit setup/teardown.
- Keep assertions precise and readable.
- Do not overfit tests to private implementation details.
- If a scaffolded class or method has only a docstring body, treat its name and hierarchy as locked.
- Do not rename, move, merge, split, or re-nest docstring-only scaffolded tests unless explicitly requested.
- Preserve existing one-line docstrings on scaffolded classes and methods unless they are factually incorrect.
- If stack details are missing and would change fixture strategy, ask one concise clarifying question before editing.
Output Format
Return:
- Files updated.
- Fixture and marker decisions.
- Which references were used and why.
- Validation command results.
- Risks or open questions.