我刚刚与我的首席开发人员进行了交谈,他不同意单元测试是所有必要或重要的。在他看来,具有足够高代码覆盖率的功能测试就足够了,因为任何内部重构(接口更改等)都不会导致需要重写或重新检查测试。
我尝试解释但没有走得很远,并认为你们可以做得更好。;-) 所以...
对功能测试不提供的代码进行单元测试有什么好的理由?如果你只有功能测试,会有什么危险?
编辑#1感谢所有出色的答案。我想补充一点,通过功能测试,我不仅仅指对整个产品的测试,还包括对产品内的模块的测试,而不是在必要时进行模拟的单元测试的低级别等。另请注意我们的功能测试是自动的,并且会持续运行,但它们只需要比单元测试更长的时间(这是单元测试的一大优势)。
我喜欢砖与房子的例子。我想我的首席开发人员说的是测试房子的墙壁就足够了,你不需要测试单个砖块...... :-)