TDD 生存手册

作者/分享人:武可
写了17年程序,还想一直写下去的程序员。现就职于一家航空业软件公司。平时工作中主要写些Java后端代码。 很早就开始关注TDD,惭愧直到前两年才打通经脉。实在感觉它太好用了,目前仍处在热情高涨期。 平时业余时间喜欢在TDD交流群里讨论切磋,写点心得,偶尔也参加线下活动,以码会友。

作为一个开发者,你对 TDD 的态度是什么,有没有遇到过这样的困惑?

  • 看起来很美,用起来完全不是那么回事。
  • 一会测试一会代码,手忙脚乱的不会写了。
  • 也就写写玩具例子,真正的生产代码不实用。
  • 真的按照 TDD 来做,不知得花多大的成本。
  • 也许全新的项目可以这样做,但是我平常根本没机会做新东西,都是在老代码上修改维护的。TDD 根本不适合我们的情况。

如果你对 TDD 还怀有一丝期望,又有着种种困惑。这个话题就是为你准备的。

作为一个程序员,我也曾经有着同样的各种困扰。经过数年摸索后,忽然发现自己的在日常工作已经自然而然的操起 TDD。今天想和你分享如何才能实用有效的用起 TDD。

已有142人预订
预订达标
文章出炉
交流日期
     
17.05.31
17.06.13
17.06.20 20:30
查看文章评论/提问
李志博
重构一定要写单元测试,但是写单元测试不一定是为了重构,例如验证代码逻辑问题,重新清理数据,构建环境初始化状态,等等。单元测试是一种工具
武可: 可否解释一下“重新清理数据,构建环境初始化状态”的具体含义。
Adele
如何从团队无单元测试到有质量,且节约成本的单元测试?(团队两周迭代,每次会发4-5次生产,10次测试,不希望为了做单元测试而做单元测试);另外是一定要开发人员本人来写单元测试吗?如果还可以由测试或其他人来做,各有什么优劣?
金震
有个问题,不管是什么test,都不可能是100%全覆盖的,那么回到TDD上,基于这样的前提,我们怎么保证testcase能给我的业务代码足够的保护? 只保证能想到的业务分支没问题就可以了么?那如果其他人调用我的方法,正好利用的是一个我没测到的分支,而我重构以后,之前的业务分支保证了,但别人使用的这段非业务分支没被保证到怎么办? 也就是说,我们要把TDD做到什么程序才能够为代码提供足够的保护呢?C2下的100%么?付出有点多……望解答!
李志博: 我个人认为,我保证不了整个项目但是我开发过,或者动过的地方,都要写单元测试,保证自己写的代码本身是没问题的
Yaguang
文章很赞。TDD有限实践,最愿意我使用和坚持的原因是,让我更安全。写出代码不会因为疏忽而犯低级错误;写过代码自己验证过,放心;大脑不够用的时候,测试可以帮我发现regression bug;记忆不好长时间后帮我提醒。
你可能还喜欢
Docker 入门之个人博客搭建教程
一念成魔
JVM 精华知识点汇总
胡玉洋
美团客户端响应式框架 EasyReact 开源
美团技术团队
MySQL 数据同步双机互备
小闲丶
前端游戏框架哪个好
cba
Spring Boot 最佳入门实践
老王
微信扫描登录