首页 / 知识
关于不可知的语言:如何将单元测试改编为代码库?
2023-04-14 03:30:00

How do you retrofit unit tests into a code base?您是否有任何策略可以将单元测试改装到当前没有单元测试的代码库上? 阅读Feathers的《有效使用旧版代码》。 Jimmy Bogard在SOC上有一个不错的博客系列。 在不进行任何单元测试的情况下改造现有项目的最佳方法是在修复错误时进行。编写一个对包含错误的逻辑失败的测试,并带有重现该错误的步骤。然后重构代码,直到测试通过。现在,您可以放心,该错误已修复,并且不会在本周期的后续版本中引入,并且您开始在项目中引入单元测试。 这是关于测试的另一篇很棒的文章。特别是其中一些相关的引用:
我认为您最好一次修复测试1,因为您正在修复错误或添加新功能...不要尝试构建丢失的测试用例,您应该为每个测试设定最终目标,而不仅仅是提高覆盖率。 为什么要添加单元测试?您觉得代码中有错误吗?你只想做点什么吗?您即将着手一项新功能吗? 如果它是已经发布了一段时间的较旧产品,那么我会同意其他产品,并且仅在发现错误或添加新功能时才添加测试。 如果它是仍在开发中且尚未发布或仅是最近发布的产品,那么我将从检查代码开始。如果发现不正确的地方,则需要对其进行测试。我可能会做一些测试来创建一些样本数据。创建样本数据似乎可以为您带来巨大的收益,并且它也很有用。 我认为即使没有要测试的错误,编写测试也是有好处的-当您添加新功能或稍后修复错误时,您的测试会确认您没有引入新的错误。 如果您尝试将单元测试添加到旧的Perl代码中,强烈建议 Perl测试:Ian Langworth和chrom编写的开发人员笔记本。 它在测试遗留和" unestable"代码方面有一些非常好的技巧。 戴尔被投票。是的,向有效的代码添加单元测试没有任何好处。可以说存在两个未知的错误X和Y。在某些时候,典型的现场使用会揭示X。您对其进行了修复,添加了单元测试,然后继续进行。现在,假设Y在程序的整个生命周期中从未被发现。由于Y从不透露自己,就好像它不存在一样。无需浪费资源。将其乘以成百上千个潜在的错误,就可以节省很多不必要的维护工作。 我们是否可能会感到恐慌并且在单元测试和性能测试之间感到困惑?是您的应用程序可以在很少的用户中正常运行,但是在负载较重时开始引发错误吗?如果是这样,单元测试不是答案。单元测试!=负载测试。 如果单元测试实际上是答案,那么改进单元测试是一个好主意,因为它将有助于清理代码。只是准备好重构很多。用TDD编写的代码看起来与不使用TDD编写的代码有很大不同。就我而言,我有一个处理很多情况的HandleDisposition()方法。如果我们用TDD编写代码,这种方法将不存在。在改造单元测试时,我们对该函数进行了重构,现在有了诸如XDisposition(),YDisposition(),ZDisposition()之类的方法,这些方法相对于编写单元测试而言要容易得多。 |
最新内容
相关内容
linux改语言命令行?
linux改语言命令行?,系统,环境,工具,密码,概念,地方,软件,通信,管理,国际,linux命令行下怎样改变语言将内容改为:LANG=zh_CN.UTF-8LANGUAGE=zh_linux命令行c语言?
linux命令行c语言?,代码,系统,工具,环境,工作,保险,发行,命令,文件,终端,linux终端下如何进行C语言编译1、在Linux下面,如果要编译一个C语言源linux编写c语言命令?
linux编写c语言命令?,系统,基础,环境,代码,盘面,保险,百度,情况,数据,工具,在Linux系统中,如何运行一个C语言程序?编译。由.c文件生成.o文件,写linux改变语言命令?
linux改变语言命令?,系统,管理,网上,官方网站,情况,服务,中文,语言,命令,终端,linux命令行下怎样改变语言将内容改为:LANG=zh_CN.UTF-8LANGUAGEc语言编译linux命令?
c语言编译linux命令?,代码,工具,环境,系统,基础,保险,百度,语言,源程序,文件,Linux中,运行一个C语言程序如何运行1、编译。由.c文件生成.o文件linux常用命令语言?
linux常用命令语言?,工作,地址,系统,信息,命令,目录,标准,管理,工具,服务,linux常用命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录r语言命令行写linux?
r语言命令行写linux?,环境,数据,系统,工具,简介,官网,语言,报告,软件,发展,如何在linux环境下使用r语言是的,可以在Linux系统上安装RStudio。 Rlinux语言查找命令行?
linux语言查找命令行?,系统,工作,位置,标准,地址,信息,命令,管理,时间,文件,在linux命令行下如何查找显示/etc/passwd文件中包含root的行如何Python编程语言的优缺点
Python编程语言的优缺点,代码,网站,航空,管理系统,培训,系统,概念,网络,基础,机器人,Python是一种编程语言,它的名字来源于一个喜剧。是由Guid什么是Python语言?主要应用于哪些领
什么是Python语言?主要应用于哪些领域?,分析,人工智能,数据,公司,金融,人员,网络,量化交易,全球,时间,在当今社会,Python是一种非常流行的编程语Python语言支持编程方式有哪些
Python语言支持编程方式有哪些,数据,设计,中心,代码,第三,网站,人工智能,平台,位置,培训,Python是一种跨平台的计算机程序设计语言,是一个高层Python编程语言特征
Python编程语言特征,代码,异常,环境,管理,培训,标准,检测,网络,特征,模块,1、Python语法优雅,程序编码简单易读。2、Python易上手,通过简单的操