您是否首先重构SQL?您的建筑?还是你的代码库?您会更改语言吗?您是否丢弃一切并从头开始?[不重构]
问题来源于stack overflow
我正在将单元测试添加到大型的传统意大利面条代码库中。
我的方法是,当被要求解决问题时,我尝试围绕与当前任务相关的部分代码库创建一个新包装器。这个新的包装器是使用TTD开发的(首先编写测试)。有的打电话时间到非单元测试的遗留代码。在其他时候,我会为现有模块制作一个新副本,并开始对其进行严重的破坏。有时我会从头开始重写功能。
但是,由于我对其进行了相当良好的测试,因此我感到可以控制。
我发现此代码库是经过大量复制和粘贴而开发的,一旦我理解了某个特定部分,并从中提取了一些功能(首先进行测试)...函数通常在许多其他地方都可用,因此用我自己的,经过单元测试的库替换旧代码的比率增加了。
我没有(也没有权力)尝试重写代码或将测试添加到当前问题未解决的部分代码(通常是我要修复的错误),但是我确实具有相当积极的主动态度触及任何可能相关的事物。
更新:Penguinix问:“您使用哪种语言?您建议使用特定的测试工具吗?”
现在我在……呃……腮腺炎!但是,同样的原理在任何地方都适用。
MinUnit改变了我对UT的理解:http : //www.jera.com/techinfo/jtns/jtn002.html
当我看到MinUnit时,这对我来说是一个“禅”的时刻。它消除了我对单元测试的误解,因为单元测试是一个复杂的事情,需要复杂的OO框架等。我知道UT只是编写了一系列测试。您可以在3分钟内用自己喜欢的任何语言编写自己的“线束”。只是去做。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。