测试rails应用程序的最佳方法是什么?

Avi*_*try 8 testing unit-testing ruby-on-rails ruby-on-rails-3

我是Rails测试的新手.我决定学习测试驱动开发,因此我正在研究如何在轨道中进行测试.

我从Test :: Unit开始,很快就知道可以使用更好的工具和测试框架.我听说过的是

  1. 早该
  2. 摩卡
  3. Rspec的
  4. 黄瓜
  5. 工厂女工

现在我很困惑如何继续前进.我需要学习的这些工具的最佳组合是什么?我在哪里可以找到学习这些资源的资源?

我正在使用Rails 3.0构建应用程序

Jon*_*nah 18

测试rails应用程序的最佳方法是什么?

首先测试.

更严重的是,您列出了许多旨在执行不同操作的不同工具.

  • Shoulda是用于运行测试的测试框架,以及用于编写测试的一组匹配器和断言.
  • 摩卡是一个模拟和存根库.
  • Rspec是一个测试框架,包括模拟工具和匹配器.
  • Cucumber是编写功能测试的框架.
  • Factory Girl是用于构建测试中使用的域对象的框架.

其中,Shoulda或Rspec可能取代Test :: Unit,而其他都为不同的测试领域提供工具.您需要哪一个取决于您认为编写测试更容易和更有效的内容.

对于习惯于测试::单元测试且有兴趣学习其他工具的人,我建议如下.

如果您有一个使用Test :: Unit的现有项目,请考虑添加Mocha的模拟和存根,看看是否允许您更轻松地编写有针对性的单元测试.如果您已经安装了固定装置,请考虑使用Factory Girl来生成工厂,而不是添加新的模型对象,并再次查看是否发现这样可以使您的测试更易于管理和维护.如果你有一套可靠的单元测试已经考虑使用Cucumber编写一些更高级别的功能测试来开始在测试中捕获用户故事并在端到端测试你的应用程序.

如果您要开始一个新项目,那么请从Rspec和Factory Girl开始.Rspec的会向你介绍一个非常不同的风格测试比测试::单位的,但你仍然可以写非常熟悉单元测试,它提供存根,嘲笑和匹配器可以让你潜入测试没有太多新的爆炸你项目中的宝石.Factory Girl将为您提供一种方便的方法来构建域对象,因为您的测试需要它们.在这两者之间,您应该能够获得一堆新的测试技巧,同时仍然使用您通常的单元测试工作流程.

  • 任何可用于学习这些内容的教程.我已经开始使用rspec你的建议,但开始时遇到很多麻烦.我有一个现有的应用程序,我需要添加Rspec.我该怎么做? (3认同)

Rya*_*igg 1

我个人在我的应用程序中使用 Cucumber、RSpec 和 Factory Girl。至于资源,我正在写一本名为《Rails 3 in Action》的书,其中介绍了如何使用这些工具(当然还有 Rails 本身)来开发应用程序。