pytest
- Repo stars 2,412
- License NOASSERTION
- Author updated Live
- Author repo debugpy
- Domain
- Documentation
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 94 / 100 · audit passed
- Author / version / license
- @microsoft · NOASSERTION
- Token usage
- Lean
- Setup complexity
- Plug-and-play
- External API key
- Not required
- Operating systems
- Unspecified (assume cross-platform)
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: pytest
description: Best practices for writing and organizing tests with pytest including fixtures, parametrize, and…
category: documentation
runtime: no special runtime
---
# pytest output preview
## PART A: Task fit
- Use case: Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins. Apply this skill when writing and organizing tests with pytest — fixtures, parametrize, markers, plugins, and test structure. runs entirely locally. Works with Claude Code, Cursor, Cline and 23 more..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “When to Use / Test Organization / Fixtures” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins. Apply this skill when writing and organizing tests with pytest — fixtures, parametrize, markers, plugins, and test structure. runs entirely locally. Works with Claude Code, Cursor, Cline and 23 more.”.
- **02** When the source has headings, the agent prioritizes “When to Use / Test Organization / Fixtures” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files.
Start with a small task and check whether the result follows “When to Use / Test Organization / Fixtures”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: pytest
description: Best practices for writing and organizing tests with pytest including fixtures, parametrize, and…
category: documentation
source: microsoft/debugpy
---
# pytest
## When to use
- Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins. Apply this s…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “When to Use / Test Organization / Fixtures” and keep inference separate from source facts.
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "pytest" {
input -> user goal + target files + boundaries + acceptance criteria
context -> When to Use / Test Organization / Fixtures
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} Skill: pytest
Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins.
When to Use
Apply this skill when writing and organizing tests with pytest — fixtures, parametrize, markers, plugins, and test structure.
Test Organization
- Place tests in a
tests/directory mirroring the source structure. - Name test files
test_<module>.pyand test functionstest_<behavior>(). - Group related tests in classes only when they share fixtures/setup.
Fixtures
- Define fixtures at the narrowest scope needed (
function>class>module>session). - Use
conftest.pyfor shared fixtures; put it at the appropriate directory level. - Prefer factory fixtures over complex fixture inheritance.
- Use
yieldfixtures for setup/teardown; prefertmp_pathovertempfile.
Parametrize
- Use
@pytest.mark.parametrizefor data-driven tests with multiple inputs. - Give test IDs (
ids=...) for readable test output. - Combine
parametrizewith fixtures for cross-product testing.
Assertions
- Use plain
assertstatements — pytest rewrites them for clear failure messages. - Use
pytest.raises(ExceptionType, match=...)for exception testing. - Use
pytest.approx()for floating-point comparisons.
Plugins
- Common plugins:
pytest-cov,pytest-mock,pytest-asyncio,pytest-xdist,pytest-timeout. - Use
pytest-mock'smockerfixture over rawunittest.mock.patch.
Pitfalls
- Don't use
session-scoped fixtures for mutable state. - Don't assert on implementation details — test observable behavior.
- Avoid test interdependence; each test should be runnable in isolation.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review