分享
为什么问答平台  ›  专栏  ›  技术社区  ›  Earlz

你将如何用TDD方法创建一个博客? - How would you make a blog with a TDD approach?

  •  11
  • Earlz  · 技术社区  · 6 天前

    为了好玩,我正在考虑用RubyonRails重新构建我的博客(目前在PHP中,但有100行非布局代码)。我想在Rails中创建另一个项目,但在尝试创建完整的项目之前,我应该先学习Rails(不仅仅是Hello World)。

    我想做的另一件事,而我的博客翻版,至少是要弄清楚什么是TDD的一切。那么,你将如何采取测试驱动的方式来创建博客呢?你会写什么测试?你将如何开始?

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

    另外,我制作这个社区wiki是因为我打算把它基本上变成一个小型教程/知识库…

    我继续问这个问题,并悬赏,也许我可以得到一个很好的答案。

    5 回复  |  直到 8 年前
        1
  •  6
  •   Pete    8 年前

    TDD更多的是设计,而不是测试。很多人会错过这个机会,最终会练习一些不太像TDD的东西。使用TDD,您正在编写一个测试来驱动代码的更改。您不必担心编写太多的测试,因为只有当有更多的生产代码需要编写时(因此,需要测试更多的代码),才应该有一个要编写的测试。同样,TDD不仅仅是为代码编写大量的测试,而且最终会有大量的测试,因此,随着代码的增长和变化,您将拥有一套非常强大的测试来给您提供反馈。

    我建议您阅读并学习如何实践TDD,并像您所说的那样,找出它的全部意义,而不是谈论如何测试驱动某个特定软件的开发。要考虑的一本好书是: Growing Object Oriented Software, Guided by Tests . 这本书使用Java,但它是一个伟大的现实生活中的应用程序使用TDD来建立一个相当复杂的软件。

    TDD有很多东西,如果你想学习并尝试实践它,我会建议你去挖掘一些好的资源,因为这个问题的答案有很多。

        2
  •  1
  •   Stephan Eggermont    8 年前

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

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

    见:

        3
  •  1
  •   eglasius    8 年前

    我和皮特有相似的看法,更多的是关于设计。

    在看过高质量的信息之前跳到上面,很可能不会给出结果。可能只是让你想:这些测试让你觉得很痛苦。这是对存在设计问题的认识,但是 它不会告诉你如何改进它 .

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

        4
  •  0
  •   Ryan Bigg    8 年前

    从写黄瓜的特性开始,提供一个“外在内”的覆盖。它们应该能够自己测试大部分功能。很容易写。一个博客没有那么多的测试,毕竟它只是文章和评论,对吧?看看我的 blorgh 这是一个使用Cucumber开发的Rails应用程序。

        5
  •  0
  •   ericteubert    8 年前

    有趣的是,这正是我几天前开始做的。我正在使用 RSpec Cucumber . 我开始写了一些规格 Article Comment 模型。当它们全部变绿时,我编写了黄瓜测试来实现视图、控制器等。

    这对我来说真的很好,但是我想从黄瓜开始是很好的,因为很多人似乎都喜欢这种方法。

    如果你对RSPEC和黄瓜知之甚少,我强烈推荐 Railscasts :

    我也喜欢 Peepcode 电影放映,但与铁路公司不同的是,每部电影花费9美元。