测试驱动开发中的陷阱
九、需要人工干预的测试
八、复杂的测试配置环境
七、牵一发而动全身的测试代码
六、针对代码而非功能的测试
五、巨大的TestCase
四、红灯常明
三、大跨度的测试
二、衣不蔽体的测试
我很幸运,基本上前面提到的错误都曾犯过,而且可能还会再以后还会再犯各种不同的错。然而我感觉这些错误都不如那最大的错误:
一、不写测试
有很多理由可以用来拒绝TDD:进度太紧,哪有时间写测试;这种方式太古怪,无法接受;你所从事的领域过于特殊,并不适合测试驱动开发的方式;有些代码根本写不出测试……
接受“人是会犯错的”这个事实(不论是在写程序,还是在应用新的开发过程的时候),并面对这些错误、研究它们,定义它们、检查并且清晰的反馈结果。最终,也许你会发现当初的恐惧已经随着一步步的深入烟消云散,而你的脚步也早已扩展到了原来未曾涉及的领域。