Pytest 会话测试

文档 社区
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

原文结构

  • 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.
  • 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.

适用与边界

  • When to Use:Apply this skill when writing and organizing tests with pytest — fixtures, parametrize, markers, plugins, and test structure.
  • 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.

原文中的明确线索

  • 要点:「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.」、「- Place tests in a tests/ directory mirroring the source structure.」、「- Define fixtures at the narrowest scope needed (function > class > module > session).」、「- Use @pytest.mark.parametrize for data-driven tests with multiple inputs.」、「- Use plain assert statements — pytest rewrites them for clear failure messages.」、「- Common plugins: pytest-cov, pytest-mock, pytest-asyncio, pytest-xdist, pytest-timeout.」、「- Don't use session-scoped fixtures for mutable state.」
  • 文件与命令tests/test<module>.pytest<behavior>()functionclassmodulesessionconftest.py

流狐整理:以上内容来自当前 SKILL.md 的章节与原词;未补写作者没有声明的工具、兼容性或能力。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
文档
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
94 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@microsoft · NOASSERTION
流狐 Token 估算
低消耗
流狐接入估算
即装即用
是否需要外部 API Key
未发现要求
检测到的系统要求
未声明
底层运行要求
未声明
检测到的文件与系统行为
  • 只读
检测到的网络行为
仅限本地
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 pytest.preview
作者没有在当前 SKILL.md 中定义固定输出样例。

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。