首先编码测试,我发现我的代码中可能有3/4是单元测试; 如果我真的是极端的,除了修复失败的单元测试之外没有编写一行代码,这个比例会更高.维护所有这些单元测试会增加代码更改的大量惯性.在早期,我把它搞砸并修复它们.一旦有压力,我最终会找到一个broken_unit_tests
目录,以便在有时间的情况下重新访问.在设计有时间结晶之前,感觉TDD过早地进行了高覆盖率.
我如何找到摆脱这种困境的方法,并开始欢迎像我应该的那样改变需求?
将程序员纪律的方面放在一边......(如果你没有做好伙伴构建或没有修复所有测试就可以办理登机手续,这是个人的事情.敏捷承担高度纪律......勇气和支持保持正确的道路在压力之下 :),
如果您发现单次更改无法通过多次测试,那么您的测试就会出现问题.当您开始使用TDD时,脆弱的测试很常见...如果您花费更多的时间来修复测试而不是修复代码......停止,呼吸和反思.修复疾病而不是症状.
如果你有一些代码片段,我们可以讨论.目前我不认为我可以帮助你...
指导:测试应该失败只有一个原因.相反,每个失败的测试应该指出缺陷的确切唯一位置.由于相同的变化,两个测试不应该失败.除非你进行架构级别的彻底改变,否则这应该是罕见的.
我想你已经反过来了.当实施可能破坏单元测试的更改时,您应该首先更新单元测试.这样你就不会得到破碎的单元测试和工作代码.您将要么进行失败的单元测试,因为代码尚未就绪,或者两个部分都能正常工作.
如果你认为这是一个开销,那就想想你将来节省错误修复的时间.
你也可以尝试在短周期内工作.即代替
做了很多改变
修复了很多单元测试
重复
尝试
计划一个小的改变
更改相关的单元测试
更改相关代码
重复
当有一个截止日期迫在眉睫,经理人肩负着时,很难通过大量的单元测试积压工作.当你养成习惯时,同时进行代码和测试实际上很容易.