Python 测试:保障稳定性与可靠性的关键实践
1. 测试的重要性与范围
Python 社区正逐步采用预提交系统,这表明测试不仅是为了防止新手犯错,随着 Python 规模和复杂度的增加,即使是核心开发团队的资深成员也可能因测试而避免错误。这种做法受谷歌预提交系统的影响,实践证明其在 Python 开发中同样有益。
Python 开发中的测试范围不仅局限于代码库本身。当语言发生变更时,可能会意外破坏向后兼容性。若使用 Python 的应用程序有全面的测试系列,那么这些测试在很多方面也成为了对 Python 语言的测试,即 Python 的测试范围延伸到了所有用 Python 编写的测试。
2. 确保正确性
测试的主要目的之一是发现 bug。开发者在提交代码前通常会运行大部分测试,因为完整的测试套件运行时间超过一小时,而我们要求开发者运行的测试最多只需七分钟,这是大多数开发者愿意等待的时长。
3. Buildbot 系统
Buildbot 系统会在多个平台上对每次提交进行测试,它运行在所有活跃分支(目前为 2.6、trunk [2.7]、3.1 和 py3k [3.2])的大约 15 - 20 种不同架构上,并且还会增加更多系统。这些机器由捐赠而来,我们也一直在寻求更多样化的平台。当任何一个 buildbot 检测到构建或测试失败时,会向 python - checkins 邮件列表发送邮件。
以下是 Buildbot 系统的工作流程 mermaid 图:
graph LR
A[代码提交] -->
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



