SuperAPI AI 工具集

clean-tests

测试与质量

查看项目

更新于 10-15 21:39

技能介绍

用途:在编写、修复、编辑或重构 Python 测试时应用 Clean Code 原则,帮助提升测试质量与可维护性。

主要能力与原则:

  • 充分测试:测试一切可能出错的地方,覆盖率工具作为指引而非目标。
  • 使用覆盖率工具:可用 pytest --cov=myproject --cov-report=term-missing 查看未覆盖代码,但追求有意义的覆盖而非 100%。
  • 不跳过简单测试:简单测试能记录行为并防止回归。
  • 被忽略的测试代表歧义:不要用 @pytest.mark.skip 隐藏问题,要么修复要么删除;确需跳过时说明原因(如依赖 Redis,参见 CONTRIBUTING.md)。
  • 测试边界条件:分页、日期等边界应显式测试,包括首页、末页、越界页、非法页码、空列表。
  • 在缺陷附近穷举测试:发现 bug 后,为所有类似情况补测试。
  • 关注失败模式:如异步测试间歇性失败,问题可能在异步处理而非测试本身。
  • 覆盖率模式可揭示设计问题:难以测试的函数往往职责过多,应重构以提高可测性。
  • 测试要快:单元测试每个应在 100ms 以内,避免连接真实数据库,改用内存或 mock。

组织原则(F.I.R.S.T.):快速、独立、可重复、自验证、及时(先于或伴随代码编写)。每个测试只验证一个概念,避免在一个测试中断言多个不相关行为。

适用场景:Python 单元测试的编写与重构、边界条件覆盖、覆盖率分析、测试性能优化。

限制:资料未提供安装方式、支持框架版本、价格或平台信息。