Python 测试体系:保障稳定性与可靠性的关键
1. 测试的重要性与发展趋势
Python 社区高度重视测试流程,正逐步向预提交系统过渡。这意味着提交者在所有测试通过之前无法提交更改。测试的目的不仅是防止新手程序员犯错,随着 Python 规模、范围和复杂性的增加,即使是核心开发团队的资深成员也可能犯错,而测试能够捕捉到这些错误。这一举措受到了谷歌预提交系统的影响,在体验到其益处后,大家意识到它在 Python 开发中同样适用。
Python 开发中的测试范围不仅局限于代码库本身。当语言发生变更时,可能会意外破坏向后兼容性。如果使用 Python 的应用程序有一系列全面的测试,那么从很多方面来说,这些测试也成为了对 Python 语言的测试。
2. 确保正确性
测试的主要目的之一是发现 bug。开发者在提交代码前通常会运行大部分测试,而非全部。因为包含所有选项的完整测试套件运行时间超过一小时,大多数开发者不愿等待这么久。而要求开发者运行的测试最多只需七分钟,这是大多数开发者愿意等待的时长。
3. Buildbot 系统
Buildbot 系统会在多个平台上对每次提交进行测试。它在大约 15 - 20 种不同架构的所有活跃分支(目前是 2.6、trunk [2.7]、3.1 和 py3k [3.2])上运行,并且还将添加更多系统。这些机器由捐赠而来,社区也一直在寻求更多样化的测试环境。
当任何一个 Buildbot 检测到构建或测试失败时,会向 python - checkins 邮件列表发送邮件。开发者提交更改后,理论上会密切关注邮件,查看是否引发了问题。
Buildbo
超级会员免费看
订阅专栏 解锁全文
1003

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



