关于 python-testing
python-testing 面向 Python 开发者,提供使用 pytest 编写测试、管理 fixture、测试异步逻辑和配置覆盖率的规范。内容按模块覆盖测试实现与基础设施。
主要功能
- 01pytest 单元与集成测试
- 02Fixture 与 mock 管理
- 03异步测试模式
- 04覆盖率与项目配置
适用场景
- 01为 Python 项目编写测试
- 02隔离外部依赖
- 03测试协程逻辑
- 04制定项目覆盖率标准
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill python-testing安装后在 Claude Code 中输入/python-testing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
modules/async-testing.mdfixtures-and-mocking.mdtest-infrastructure.mdtest-quality.mdtesting-workflows.mdunit-testing.md详细介绍
Python 测试中心
pytest 配置、fixture 管理和 TDD 实施标准。
快速开始
- 依赖项:
pip install pytest pytest-cov pytest-asyncio pytest-mock - 配置:将以下内容添加到
pyproject.toml:[tool.pytest.ini_options] testpaths = ["tests"] addopts = "--cov=src" - 验证:运行
pytest,确认能发现与test_*.py匹配的文件。
适用场景
- 为 Python 3.9+ 项目编写单元测试和集成测试。
- 使用
pytest-mock或自定义 monkeypatch 隔离外部依赖。 - 使用
pytest-asyncio标记和事件循环管理来验证异步逻辑。 - 配置项目级覆盖率阈值和报告。
不适用场景
- 评估测试 质量——请改用 pensive:test-review
- 基础设施测试 配置——请改用 leyline:pytest-config
模块
此技能采用模块化加载,以管理系统提示词预算。
核心实现
- 参见
modules/unit-testing.md——AAA(Arrange-Act-Assert)模式、基础测试结构和异常验证。 - 参见
modules/fixtures-and-mocking.md——请求级 fixture、参数化和边界模拟。 - 参见
modules/async-testing.md——协程测试、异步 fixture 和并发验证。
基础设施和工作流
- 参见
modules/test-infrastructure.md——目录规范、conftest.py管理和覆盖率工具。 - 参见
modules/testing-workflows.md——本地执行模式和 GitHub Actions 集成。
标准
- 参见
modules/test-quality.md——识别常见反模式,例如宽泛捕获异常或在测试间共享状态。
退出标准
- 测试采用 AAA 模式。
- 覆盖率达到项目最低要求 80%。
- 各项测试相互独立,不依赖执行顺序。
- fixture 的作用域设置恰当(function、class 或 session),以 防止副作用。
- 模拟仅限于外部系统边界。
故障排除
- 测试发现:确认文件名符合
test_*.py模式。使用pytest --collect-only调试发现路径。 - 导入错误:确保本地源代码目录位于路径中,通常可通过使用可编辑模式安装来实现:
pip install -e .。 - 异步测试失败:确认已安装
pytest-asyncio,且异步测试使用@pytest.mark.asyncio装饰器或相应的自动模式配置。
评论
支持 Markdown