如果我已经有一个没有任何测试的大代码库,如何开始编写测试?

时间:2012-04-12 21:07:09

标签: ruby-on-rails unit-testing testing tdd

我一直在想“测试?我不需要进行任何特殊测试!我没有它就没事了!”

然后我的代码变长了。

现在我意识到为什么写测试很重要。我总是害怕一点变化会导致破坏。我真的想开始写测试。但代码库变得如此之大,以至于我真的不知所措。我不知道从哪里开始。其中大部分我甚至不记得为什么我这样编码,所以如果我开始回去写测试,它将需要永远。

如果我已经拥有庞大的代码库,有人可以就如何开始编写测试提供建议吗?

2 个答案:

答案 0 :(得分:5)

首先,我建议阅读the WELC book,这在您的情况下应该会派上用场。

下次触摸代码时开始,下次需要更改代码中的内容时,首先为它编写测试,然后继续编写测试,围绕您需要更改,更新,修复的所有内容,或添加。这样,随着时间的推移,您将对所有正在发生变化的区域添加测试,并且在为其余代码编写测试时似乎不会那么压倒性。

但是,我会重申,我将遗留代码的链接非常有用,因为它详细介绍了解决此问题的方法。

答案 1 :(得分:1)

编写测试,特别好,需要花费大量时间,有时可能需要50%的开发时间/成本,有时甚至更多。我首先会为你的所有函数编写单元测试,并试图获得尽可能多的语句覆盖率。如果你不知道一个方法是如何工作的,那么它可能记录和/或编写得很糟糕,无论如何你最好还是重写它。

这不是问题的直接答案,但是有一点建议: 你现在应该花时间来修复和清理你的代码,否则它将继续失控。通过编写更多代码,代码不会变得更好,它只会变得更糟,如果你想让它变得更好,你必须返回并重写它。