Agent Skills
返回列表
💻

Python 测试

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/py-test-1784987008。

技能介绍

要解决什么问题

在 Python 项目里,测试往往卡在「该测什么、怎么拆用例、断言写在哪一层」——而不是缺一个 pytest 命令。模块边界不清时,单元测试容易变成对实现细节的锁死;集成测试又容易拖慢本地反馈。团队若缺少统一约定,还会出现 fixture 散落、mock 滥用、以及「只跑 happy path」的覆盖率假象。

本技能面向开发编程场景,帮助你在写业务代码的同时,把测试当成可维护的工程资产来组织,而不是事后补几行 assert。

技能如何协助你

在与大模型协作时,技能会把对话约束在 Python 测试相关的语境里,典型包括:

  • 用例分层:区分纯函数/领域逻辑与 I/O、数据库、HTTP 等外部依赖,决定何时用 unittest.mock 或 pytest fixture 隔离。
  • 结构与命名:按模块或行为组织 tests/,用可读的测试名表达「给定—当—则」,减少「test_1」类维护成本。
  • 断言与数据:选用合适的断言方式(pytest.raises、参数化、subtests 等),避免脆弱的字面量比对。
  • 回归与重构:在改实现时先明确「行为契约」再改测试,避免测试与实现同进退却测不到真实风险。

原始技能说明极为简短(Test),实际能力主要来自你在对话中提供的代码上下文与目标;技能的作用是聚焦问题域,而不是替代本地测试运行器。

适用边界与注意点

  • 技能不会替你执行测试、生成 CI 配置或保证覆盖率达标;仍需在本地或流水线中运行 pytest / unittest 并解读失败栈。
  • 对异步、多进程、GUI 等场景,需要你在提示中说明框架与约束,否则建议可能过于通用。
  • 安全敏感或合规场景下,测试数据与密钥管理须按你们团队规范处理,不要依赖模型「猜」环境变量。

若项目已有测试规范文档,把关键片段贴进对话,效果通常比泛泛问「怎么写测试」更好。

使用场景

  • 重构某个 Python 模块前,先让助手根据现有行为列出应保留的断言与边界用例
  • 为新写的 API 处理函数设计 `pytest` 参数化用例,覆盖空输入与异常分支
  • 集成测试里需要 mock 数据库会话,想确认 fixture 放在哪一层、避免测到 ORM 实现细节
  • CI 里某条测试偶发失败,带着 traceback 让助手判断是竞态还是断言写得太脆

适合人员

  • 维护中型 Flask/FastAPI 服务、需要在改路由逻辑时同步更新测试的后端工程师
  • 从脚本迁到可安装包结构的个人开发者,想把 `tests/` 目录和命名规范一次性理顺
  • 带新人做 code review、希望统一「何时 mock、何时打真实依赖」的 Tech Lead
  • 负责遗留 Django 项目,要在不扩大测试范围的前提下给核心模型补回归用例的维护者