美味的测试:测试的艺术与实践
1. 测试框架的魅力
使用测试框架能让你在测试运行阶段将一个函数拆分为四个不同的函数,还能清晰展示函数参数和测试名称。更棒的是,你可以选择单个测试进行运行或调试。若测试失败,会得到详细报告,精准指出代码问题。例如,若不小心把 now 写成 nov ,测试错误会这样显示:
Message:
String lengths are both 3. Strings differ at index 2.
Expected: "now"
But was: "nov"
-------------^
使用测试框架是明智之举,当你意识到它能为你节省额外工作时,会更爱写测试。它就像 NASA 的飞行前检查灯、“系统状态正常” 的宣告,是为你工作的小纳米机器人。所以,热爱测试,热爱测试框架吧。
2. 慎用 TDD 等方法
单元测试如同成功的宗教一样,分化出了不同派别,如测试驱动开发(TDD)和行为驱动开发(BDD)。有人热衷于创建新范式和标准,有人则盲目遵循。TDD 主张先写测试再写代码,以此引导写出更好的代码。具体流程是:先为类写测试,此时代码无法编译;接着写实际代码,使其能编译;然后运行测试,测试失败;最后修复代码中的错误,让测试通过。BDD 也是先写测试的方法,但在测试命名和布局上有所不同。
TDD 和 BDD 的理念并非完全错误,先思考代码如何测试会影响代码设计。然而,TDD 的问题在于实践,其仪式化的做法
超级会员免费看
订阅专栏 解锁全文
1047

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



