【发布时间】:2014-02-14 17:22:56
【问题描述】:
我希望能更好地理解在 Rails 4 应用程序中使用 TDD 的过程。
迄今为止我发现的关于该主题的最佳帖子是15 TDD steps to create a Rails application。它建议遵循以下步骤:
- 搭建模型
- 为模型创建单元测试 --> 测试失败
- 为模型创建迁移 --> 测试通过
- 用所需的动作搭建控制器
- 为控制器创建功能测试 --> 测试失败
- 将代码添加到控制器操作 --> 测试通过
- 为视图创建功能测试 --> 测试失败
- 创建视图 --> 测试通过
这种方法带来了比rails g scaffold Foo 更多的工作。但是使用脚手架会导致测试(如果已构建)会通过,这违反了核心 TDD 原则。
我还了解到不应测试框架提供的功能(例如,validates_presence_of 的单元测试)。
这让我想问:我应该跳过对脚手架生成的代码的单元和功能测试,只测试我的自定义,还是应该遵循博客文章作者使用的逐层模式?
【问题讨论】:
-
你想用脚手架做什么?它们只生成最基本的代码来执行 CRUD 操作,生成的测试远不值得使用。 (阅读您提供的链接:它是从 2007 年开始的,使用的 Rails 版本甚至比 Rails 2 还要早,并且没有提及使用脚手架?)
-
@yerforkferchips:是的,我意识到脚手架是相当基础的,它的测试没有用。但是对于 Rails 4,这是一个不错的起点,可以节省时间并消除遗漏。是的,这篇文章很老了,但仍然描述了一个过程。我引用这篇文章作为与脚手架和可能的工作流程的对比。
标签: ruby-on-rails ruby-on-rails-4 tdd