第8章 单元测试和重构
这里探讨的理念是本书的支柱,因为对我们的终极目标——编写出更好、更容易维护的软件来说,这些理念很重要。
对软件的可维护性来说,单元测试(以及任何形式的自动测试)至关重要,因此对任何质量的项目来说都是不可或缺的。正因为如此,本章讨论自动测试的各个方面。自动测试是一种重要的策略,让你能够安全地修改代码,并通过迭代逐步加以改善。
阅读本章后,你将对如下方面有更深刻的理解。
● 为何自动测试对项目的成败至关重要。
● 作为代码质量评估方式的单元测试是如何工作的。
● 有哪些可用于开发自动测试和设置质量关(quality gate)的框架和工具。
● 利用单元测试更深入地认识域问题及编写代码文档。
● 与单元测试相关的概念,如测试驱动开发。
前面介绍了 Python 的特性及如何利用它们让代码更易于维护,还探讨了如何使用Python 的特性将软件工程设计的一般原则应用到 Python 中。本章将重温一个重要的软件工程概念——自动测试,但从使用工具的角度出发,这些工具有些是Python标准库中的,如模块unittest,有些是外部包(如pytest)。下面首先来探讨软件设计与单元测试的关系。
8.1 设计原则与单元测试
本节从概念的角度介绍单元测试,并重温本书前面讨论的一些软件工程原则,让你知道它们与整洁代码的关系。
然后,我们将更详细地讨论如何将这些概念付诸实践(在代码层级上),以及有哪些框架和工具可供你使用。
我们先简单地说说单元测试的目的。单元测试是负责验证其他代码的代码。通常,所有人都想说单元测试验证应用程序的“核心”,但这种有关单元测试的定义没有说到点子上,本书并不是这样看待单元测试的。单元测试是核心,是软件的重要组成部分,应该像对待业务逻辑那样对待它们。 ...
Get 编写整洁的Python代码(第2版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.