使用带有Rails脚手架的测试驱动开发(TDD)

时间:2014-02-14 17:22:57

标签: ruby-on-rails ruby-on-rails-4 tdd

我希望能更好地理解在Rails 4应用程序中使用TDD的过程。

我迄今为止在该主题上发现的最佳帖子是15 TDD steps to create a Rails application。它建议遵循以下步骤:

  • 脚手架模型
  • 为模型创建单元测试 - >测试失败
  • 为模型创建迁移 - >测试通过
  • 使用所需操作构建控制器
  • 为控制器创建功能测试 - >测试失败
  • 将代码添加到控制器操作 - >测试通过
  • 为视图创建功能测试 - >测试失败
  • 创建视图 - >测试通过

这种方法导致了更多的工作rails g scaffold Foo。但是使用脚手架会导致测试(如果构建)通过,违反了核心TDD原则。

我还读过,不应该测试框架提供的功能(例如validates_presence_of的单元测试)。

这引出了我的问题:我应该跳过由脚手架生成的代码的单元和函数测试,只测试我的自定义,还是应该遵循博客帖子的作者使用的一次一层的模式?

1 个答案:

答案 0 :(得分:0)

如果我能正确理解你的问题,那么措辞非常好的答案就在这篇文章中提供:

http://robots.thoughtbot.com/unpopular-developer-5-stop-unit-testing-your-scaffold

从本质上讲,它的信息是你应该只测试偏离脚手架生成行为的内容,因为脚手架生成的测试太简单而无法使用。