首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您将如何使用TDD方法创建博客?

您将如何使用TDD方法创建博客?
EN

Stack Overflow用户
提问于 2010-04-30 10:49:27
回答 5查看 807关注 0票数 11

为了好玩,我正在考虑用Ruby on Rails重写我的博客(目前使用PHP,但不超过100行非布局代码)。我想用Rails做另一个项目,但在尝试创建一个完整的项目之前,我应该学习Rails(而不是hello world)。

在重写我的博客时,我想做的另一件事是至少弄清楚TDD是关于什么的。那么,您将如何采用测试驱动的方法来创建博客呢?你会写什么测试?你将如何开始呢?

每次我想象写一篇博客,最终都需要对一个组件进行一百万次测试才能完全测试它。如何避免编写过多的测试?

此外,我正在制作这个社区维基,因为我打算把它基本上做成一个迷你教程/知识库……

我对这个问题进行了悬赏,也许我可以得到一个好的答案。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-30 11:12:19

TDD更多的是关于设计而不是测试。很多人错过了这一点,最终会实践一些感觉上不太像TDD的东西。使用TDD,您正在编写一个测试来驱动代码中的更改。您不需要担心编写太多测试,因为只有在有更多生产代码需要编写(因此需要测试更多代码)的情况下,才应该编写测试。同样,TDD不仅仅是为您的代码编写大量测试,而是最终会有许多测试,因此,您将拥有一套非常强大的测试,以便在代码增长和更改时为您提供反馈。

与其谈论如何测试驱动某个特定软件的开发,我建议您阅读并学习如何实践TDD,并弄清楚,正如您所说的,它是关于什么的。值得考虑的一本好书是:Growing Object Oriented Software, Guided by Tests。这本书使用Java,但它是使用TDD构建相当复杂的软件的一个很好的实际应用程序。

TDD有很多东西,如果你想学习并尝试实践它,我建议你真正深入研究几个好的来源,因为这个问题的答案不止这些。

票数 6
EN

Stack Overflow用户

发布于 2010-05-26 05:34:49

我和Pete有类似的观点,更多的是关于设计。

在查看质量信息之前跳过它可能不会给你带来结果。这可能只会让你觉得:这些测试感觉很痛苦。这是一个认识到存在设计问题,但它不会告诉你如何改进它。

你说“目前在PHP中,但是<100行非布局代码”,如果是这样的话,可能会有一些特性。如果你专注于实际需要的特性,当然也应该有比特性数量更少的测试,但只要这些是正确的单元测试,数量就不应该爆炸- check this video

票数 2
EN

Stack Overflow用户

发布于 2010-05-26 02:49:14

看看利益相关者,以及他们想要实现的目标。从那里开始是很重要的,因为它可以让你正确地确定优先级(即不是最有趣的技术部分,而是最具商业价值的部分)。开发人员是一个利益相关者,减少他的恐惧(不能构建一些东西)是一个有效的目标。

关于设计的想法写在测试中。从利益相关者的最终目标开始,从那里向后工作到开始(时间反转)。这确保了你专注于什么,而不是如何。对象之间的交互比对象属性更重要。

请参见:

  • http://www.robvens.nl/en/articles/computers/29-time-inversion-pattern
  • http://www.robvens.nl/en/articles/computers/28-active-passive-pattern
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2742031

复制
相关文章

相似问题

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