假设我正在开发一种方法,我可以传入两个数字并取回最大的数字。由于我正在做这种 TDD 风格,我将进行十几个单元测试并提出以下实现:
public int GetHighestNumber(int x, int y)
{
if (x > y) return x;
else return y;
}
这非常有效。
测试已用于创建实现。实现完成后,保持这些单元测试有什么意义?这就像在房子已经交付后在房子周围保留脚手架一样。
我不是在寻找进行单元测试的理由,或者是否/何时使用 TDD。我只是好奇为什么在代码完全实现后应该保留单元测试,而不是将这些测试作为临时手段并在不需要支持开发人员时将其删除。
编辑
在对CodeGnome发表评论后,我意识到我应该强调这只是关于 TDD 测试,它的创建主要是为了将开发人员指向正确的方向。可以说是脚手架。
不过,我确实很欣赏所有的评论。
在阅读了所有的消息后,我可以总结出两件事:
- stackoverflow 上没有人真正阅读原始问题
- 你应该保留这些单元测试,不是因为测试本身有任何用处,而是因为你可能正在与非常不称职的同事一起工作,而这些测试是为了防止他们做难以置信的愚蠢事情