tdd:测试驱动开发 tdd 是模型触发的测试驱动开发技能:用一个行为一个行为的红-绿-重构循环把功能或修复「逼」出来。它只测预先约定的公共接缝,杜绝实现耦合与同义反复测试。可单独用,也被 implement 内部调用。 红绿循环的最佳实践:一次只写一个测试,先红后绿,绝不批量铺测试。 它解决什么问题 代理写测试常犯两个错:要么批量写一堆想象中的测试(横切),要么测内部实现、写成同义反复。这样的测试既脆弱又没用。
tdd 是模型触发的测试驱动开发技能:用一个行为一个行为的红-绿-重构循环把功能或修复「逼」出来。它只测预先约定的公共接缝,杜绝实现耦合与同义反复测试。可单独用,也被 implement 内部调用。
红绿循环的最佳实践:一次只写一个测试,先红后绿,绝不批量铺测试。
代理写测试常犯两个错:要么批量写一堆想象中的测试(横切),要么测内部实现、写成同义反复。这样的测试既脆弱又没用。
tdd 是 implement 内部的引擎,也常被 diagnosing-bugs 在修复后用来锁行为。它依赖 codebase-design 找出的深模块接缝。
相关技能:
批量测试验证的是「想象中的行为」,对真实变化不敏感,还会在没理解实现前就固化测试结构。垂直切片更稳。
期望值用和代码相同的方式算出来(如 expect(add(a,b)).toBe(a+b)),它恒过、永远不可能和代码冲突,等于没测。
返回章节:工程技能完全指南