开发者社区> 问答> 正文

在Brownfield应用程序中实施单元测试的首要任务是什么?

您是否首先重构SQL?您的建筑?还是你的代码库?您会更改语言吗?您是否丢弃一切并从头开始?[不重构]

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 15:00:54 320 0
1 条回答
写回答
取消 提交回答
  • 我正在将单元测试添加到大型的传统意大利面条代码库中。

    我的方法是,当被要求解决问题时,我尝试围绕与当前任务相关的部分代码库创建一个新包装器。这个新的包装器是使用TTD开发的(首先编写测试)。有的打电话时间到非单元测试的遗留代码。在其他时候,我会为现有模块制作一个新副本,并开始对其进行严重的破坏。有时我会从头开始重写功能。

    但是,由于我对其进行了相当良好的测试,因此我感到可以控制。

    我发现此代码库是经过大量复制和粘贴而开发的,一旦我理解了某个特定部分,并从中提取了一些功能(首先进行测试)...函数通常在许多其他地方都可用,因此用我自己的,经过单元测试的库替换旧代码的比率增加了。

    我没有(也没有权力)尝试重写代码或将测试添加到当前问题未解决的部分代码(通常是我要修复的错误),但是我确实具有相当积极的主动态度触及任何可能相关的事物。

    更新:Penguinix问:“您使用哪种语言?您建议使用特定的测试工具吗?”

    现在我在……呃……腮腺炎!但是,同样的原理在任何地方都适用。

    MinUnit改变了我对UT的理解:http : //www.jera.com/techinfo/jtns/jtn002.html

    当我看到MinUnit时,这对我来说是一个“禅”的时刻。它消除了我对单元测试的误解,因为单元测试是一个复杂的事情,需要复杂的OO框架等。我知道UT只是编写了一系列测试。您可以在3分钟内用自己喜欢的任何语言编写自己的“线束”。只是去做。

    2019-11-18 15:01:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载