首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单元测试,测试驱动开发

单元测试,测试驱动开发
EN

Stack Overflow用户
提问于 2011-12-12 16:50:34
回答 4查看 865关注 0票数 2

我和我的同事就单元测试和测试驱动开发进行了一场辩论。主题如下:

1)在编写功能代码之前编写单元测试并不构成测试驱动开发方法

我认为编写单元测试确实构成了测试驱动的开发,它是TDD的一部分。

2)一套单元测试只是TDD的副产品。

一套单元测试并不是TDD的副产品。

你说呢?

EN

回答 4

Stack Overflow用户

发布于 2011-12-12 17:01:48

1)在编写功能代码之前编写测试是进行TDD所必需的,但它本身并不构成TDD,至少根据经典的定义,其中重要的一点是,使测试通过是驱动设计的原因(而不是一些正式的设计文档)。

2)再一次,经典的观点认为,重要的一点是设计是从测试演变而来的,迫使它非常模块化。它是(或曾经是)一个新的概念,测试可以(也应该)影响设计,而且可能经常被拒绝或忽视,以至于TDD的支持者开始觉得需要强调它。但是,说测试本身“只是一个副产品”是一种适得其反的夸大。

票数 10
EN

Stack Overflow用户

发布于 2011-12-12 16:55:54

在编写功能代码之前编写单元测试是TDD的重点所在。因此,单元测试套件不是副产品,而是核心内容。

Wikipedia's article

测试驱动开发(

Test-driven development,TDD)是一种软件开发过程,它依赖于重复非常短的开发周期:首先,开发人员编写一个失败的自动化测试用例,该测试用例定义了所需的改进或新功能,然后生成通过该测试的代码,最后将新代码重构为可接受的标准

票数 4
EN

Stack Overflow用户

发布于 2011-12-13 00:57:10

TDD完全是关于红色-绿色-重构的。

当你在测试前有代码时,没有红色,这是不好的,因为你可能在测试中有错误,或者测试其他东西,而不是你认为你正在测试,并从一开始就得到绿色。您应该是红色的,然后只有在添加通过该测试测试的代码之后才会转到绿色。

Red-Green-Refactor http://reddevnews.com/~/media/ECG/visualstudiomagazine/Images/2007/11/listingsID_148_0711_rdn_tb%20gif.ashx

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8471799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档