【问题标题】:TDD in Ruby on Rails?Ruby on Rails 中的 TDD?
【发布时间】:2010-08-11 03:12:37
【问题描述】:

我想知道如何在 Rails 中完成 TDD。

以下是我写下的步骤:

  1. 为数据库表创建迁移和模型
  2. 向模型添加关联
  3. 为模型编写单元测试并运行并查看它们是否失败
  4. 向模型添加验证
  5. 运行测试并查看它们是否通过,如果没有,请编辑代码直到它们通过
  6. 创建路由、控制器和视图(使用模型)
  7. 编写功能测试
  8. 运行测试并看到它们失败
  9. 编辑代码并查看它们是否通过
  10. 编写集成测试

我以前从未做过 TDD。

这是我的想法,但我想先和你们核实一下。

我确定这不是很“正确”,而且我遗漏了一些东西并且顺序不正确。

如果某些内容不符合最佳实践,您能否更正上述列表。

分享你的经验!

【问题讨论】:

    标签: ruby-on-rails tdd


    【解决方案1】:

    如果认为有一些误解(或者我误解了吗?)。 TDD 并不意味着“首先编写所有代码,然后编写所有测试”。就像您的应用程序逐渐增长一样,测试也随之增长。

    这可能是获取一些实际示例的好地方:
    http://andrzejonsoftware.blogspot.com/2007/05/15-tdd-steps-to-create-rails.html

    评论
    所以我应该在创建模型和迁移之前创建测试?
    请参阅定义:http://en.wikipedia.org/wiki/Test-driven_development

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

    虽然,我个人认为在首次测试之前创建应用程序框架并没有错。更重要的是开发周期非常短。您不必整天编写代码并在第二天进行测试。你可以同时进行。

    【讨论】:

    • 所以我应该在创建模型和迁移之前创建测试?这不是很奇怪,因为我在创建它们时首先获得了所有模型、表和关系。然后我可以编写测试。如果我从测试开始,我就没有结构可循。
    • 你测试的是操作而不是完整的结构,所以答案是对的。
    【解决方案2】:

    我自己也在学习 Rails,也在努力掌握 TDD。我发现了这个关于我正在考虑购买的主题的截屏视频:https://peepcode.com/products/test-first-development

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 2013-02-13
      • 2021-10-29
      • 2012-06-17
      • 2015-11-08
      相关资源
      最近更新 更多