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

Ruby on rails 测试rails应用程序的最佳方法是什么?,ruby-on-rails,unit-testing,testing,ruby-on-rails-3,Ruby On Rails,Unit Testing,Testing,Ruby On Rails 3,我不熟悉Rails测试。我已经决定学习测试驱动开发,因此我正在研究如何在rails中实现它 我从Test::Unit开始,很快就知道有更好的工具和测试框架可用。我听说的事情是 应该 摩卡咖啡 Rspec 黄瓜 工厂女工 现在我很困惑该怎么做我需要学习的这些工具的最佳组合是什么?我在哪里可以找到学习这些的资源? 我正在Rails 3.0中构建应用程序,我个人在应用程序中使用Cucumber、RSpec和Factory Girl。至于资源,我正在写一本书,名为《使用这些工具(当然还有Rails本身)

我不熟悉Rails测试。我已经决定学习测试驱动开发,因此我正在研究如何在rails中实现它

我从Test::Unit开始,很快就知道有更好的工具和测试框架可用。我听说的事情是

  • 应该
  • 摩卡咖啡
  • Rspec
  • 黄瓜
  • 工厂女工
  • 现在我很困惑该怎么做我需要学习的这些工具的最佳组合是什么?我在哪里可以找到学习这些的资源?


    我正在Rails 3.0中构建应用程序,我个人在应用程序中使用Cucumber、RSpec和Factory Girl。至于资源,我正在写一本书,名为《使用这些工具(当然还有Rails本身)开发应用程序》

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

    先测试

    更严重的是,您已经列出了许多不同的工具,它们被设计用来做不同的事情

    • Shoulda是一个用于运行测试的测试框架,以及一组用于编写测试的匹配器和断言
    • 摩卡咖啡是一个模仿和存根的图书馆
    • Rspec是一个测试框架,它包括模拟工具和匹配器
    • Cucumber是编写功能测试的框架
    • Factory Girl是用于构建测试中使用的域对象的框架
    其中的Shoulda或Rspec可能会取代Test::Unit,而其他的都会为不同的测试领域提供工具。你需要哪一个取决于你认为怎样才能使写作测试更容易、更有效

    对于那些习惯于测试::单元测试并对学习其他工具感兴趣的人,我建议如下

    如果你有一个现有的项目使用测试::单元考虑添加Mocha的嘲笑和中断,看看这是否允许你更容易地编写集中的单元测试。如果您已经安装了固定设备,请考虑使用工厂女工来生成工厂,以添加新的模型对象,并再次查看是否发现这使得测试更易于管理和维护。如果您有一个完整的单元测试集,就已经考虑使用黄瓜编写一些更高级的功能测试来开始在测试中捕获用户故事并测试应用程序的端到端。


    如果你正在开始一个新项目,那么从Rspec和Factory Girl开始。Rspec将向您介绍一种与Test::Unit非常不同的测试风格,但您仍将编写相当熟悉的单元测试,它提供了存根、模拟和匹配器,这将允许您深入测试,而不会在项目中出现太多新的宝石。Factory Girl将为您提供一种方便的方法,根据您的测试需要构建域对象。在这两者之间,您应该能够学会一些新的测试技巧,同时仍然使用您通常的单元测试工作流程。

    您是否查阅了Michael Hartl的RoR 3教程


    他将一个好的Rails 3教程与RSpec和Factory Girl的一些基本用法结合起来。

    问得好。希望我们能得到一些非常好的答案!拿起一个相当大的真实世界项目,比如Spree或其他东西,试着理解应用程序中的测试。当然,为了理解一些测试,您还需要查看实际来源。总之,这也是提高Rails水平的一个好方法。有没有学习这些的教程。根据你的建议,我已经开始与rspec合作,但开始时遇到了很多麻烦。我有一个需要添加Rspec的现有应用程序。我该怎么做?