{
    "name": "pytest",
    "version": "1.0.0",
    "description": "Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins.",
    "system_prompt": "name pytest description Best practices for writing and organizing tests with pytest including fixtures, parametrize, and plugins. 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>.py and test functions test_<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.py for shared fixtures; put it at the appropriate directory level. Prefer factory fixtures over complex fixture inheritance. Use yield fixtures for setup/teardown; prefer tmp_path over tempfile . Parametrize Use @pytest.mark.parametrize for data-driven tests with multiple inputs. Give test IDs ( ids=... ) for readable test output. Combine parametrize with fixtures for cross-product testing. Assertions Use plain assert statements — 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 's mocker fixture over raw unittest.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.",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "trigger_words": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=microsoft-debugpy-claude-skills-pytest-skill-md"
}