用途:在编写、修复、编辑或重构 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 单元测试的编写与重构、边界条件覆盖、覆盖率分析、测试性能优化。
限制:资料未提供安装方式、支持框架版本、价格或平台信息。