单元测试原则与实践指南
1. 测试哲学的选择
在软件开发中,存在多种测试哲学和方法论,常见的有以下几种:
- 测试驱动开发(TDD) :先编写测试用例,再编写最少的实际代码使测试通过,最后重构代码以优化结构或消除重复。TDD 支持者还提倡保持测试用例的隔离性和针对性,避免测试实现细节。例如,先写一个测试检查函数是否能正确返回两个数的和,再编写实现该功能的代码。
- 行为驱动开发(BDD) :关注软件应展现的行为(或功能),通常从用户、客户或业务的角度出发。将这些期望的行为记录下来,软件围绕这些行为进行开发。测试应反映这些期望的行为,而非软件本身的属性。不同组织在行为的捕获、记录方式,涉及的利益相关者以及规范化程度上可能有所不同。
- 验收测试驱动开发(ATDD) :从客户的角度识别软件应具备的行为(或功能),并创建自动化验收测试来验证软件是否按要求运行。与 TDD 类似,这些测试应在实现实际代码之前创建。理论上,当所有验收测试通过时,软件就完成了,可以被客户接受。
这些测试哲学和方法论记录了一些工程师认为有效的工作方式,但最终目标是编写优秀、全面的测试,产出高质量的软件。不同的人工作方式不同,可以根据自身情况选择适合的方法。
2. 单元测试的关键原则
- 每个“实际代码”都应有单元测试 :提交到代码库的几乎每一段“实际代码”都应配有相应的单元测试。
- 测试所有行为 :代码展现的每个行为都应有对应的测试用例来验
单元测试核心原则与实践
超级会员免费看
订阅专栏 解锁全文
3303

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



