测试驱动开发的实践、工具与技巧
1. BDD 测试风格与测试质量维护
BDD(行为驱动开发)测试风格强调规范而非单纯的测试。重构后的测试更具声明性,类似规格说明而非测试过程。BDD 风格的测试遵循以下形式:
- Given 一些前置条件
- When 某件事情发生
- Then 依赖于 Given 和 When 的某些结果应该为真
例如,一个关于灯光的测试可以写成:
- Given 某个灯光编号被安排在周末的特定分钟关闭
- When 到了周六的特定分钟
- Then 该编号的灯光应该处于关闭状态
这种测试风格的简洁表述是 GivWenZen,它有助于提高测试的可读性。
测试可能会出现问题,随着时间推移,测试质量可能会下降,这可能是由于代码的渐进式变化以及自身测试编写技能的提升。开发者需要时刻关注测试中的问题并及时修复,保持测试的清洁和表达力可能比保持生产代码的清洁更重要,因为完善编写的测试是开发者理解现有代码的首要参考。
为了更好地实践,可以进行以下操作:
1. 重构 CircularBufferTest,为空和满的特殊情况创建测试组。
2. 将 CircularBufferTest 中的一个测试组重构为使用 BDD 测试风格。
2. TDD 的价值与挑战
TDD(测试驱动开发)在软件开发中具有重要价值,它通过促进松散耦合和高内聚来指导设计,帮助发现副作用缺陷,详细记录假设并跟踪进度。学习 TDD 并将其融入日常生活是一项挑战。最初,TDD 强调纪律性,后来逐渐被看作一种“上瘾行为”,即对即时获得代码反馈、提高生产效
超级会员免费看
订阅专栏 解锁全文
1158

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



