当前位置:  开发笔记 > 前端 > 正文

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

如何解决《在Brownfield应用程序中实现单元测试的首要任务是什么?》经验,为你挑选了1个好方法。

你先重构SQL吗?你的建筑?还是你的代码库?你改变语言吗?你扔掉所有东西并从头开始吗?[不重构]



1> interstar..:

我正在将一个单元测试添加到一个大型的传统意大利面条代码库中.

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

但是,由于我保持相当好的测试,我感觉非常可控.

我发现这个代码库,它是用过多的复制和粘贴开发的,一旦我理解了一个特定的部分,并从中提取了一些函数(这些都是先测试完成的)......这些函数通常可以在许多其他地方使用,因此用我自己的单元测试库替换遗留代码的速度会增加.

我没有(并且没有权限)尝试重写或添加测试到我当前问题未触及的部分代码(通常是我试图解决的错误)但我确实有一个相当积极的主动态度任何被触及并可能相关的东西.

更新:Penguinix问:"你使用哪种语言?你推荐哪种特定的测试工具?"

现在我正在......呃......腮腺炎!但同样的原则适用于任何地方.

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

当我看到MinUnit时,这对我来说是一个"禅"的启蒙时刻.它消除了我对单元测试的误解,这些误解需要复杂的OO框架等.我明白UT只是在编写一堆测试.您可以用自己喜欢的任何语言在3分钟左右自己编写"线束".继续吧,做吧.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有