这两个想法对我来说听起来非常相似,但可能存在细微的差异,或者是完全相同的事情,但以不同的方式解释。 TDD 和测试优先开发/编程之间有什么关系?
驱动因素是什么是有区别的。
您是否对类(或系统 - 当然,这可以在不同的规模上发生)应该是什么样子有一个模糊的想法,然后想出测试来赋予它实际的形状?这就是TDD。
您是否确切地知道该类的公共 API 应该是什么,并且只在实现之前编写测试?这就是测试优先的开发。
我的风格往往是两者的混合。有时,在编写任何测试之前,API 应该是什么是显而易见的 - 在其他情况下,可测试性确实驱动了设计。
换句话说,TDD 从“我想问什么问题?”开始。而非 TDD(无论是否先测试)以“我想给出什么答案?”开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)