【问题标题】:Getting started with tests in RailsRails 测试入门
【发布时间】:2009-06-03 17:00:24
【问题描述】:

我们选择使用 Rails 来构建我们的一个小项目。这是一个非常小的项目,可能需要六个月或更短的时间。参与该项目的所有人员都是 Rails 新手,并且在 Web 编码方面的经验有限。

我们的软件应该为用户提供一个易于使用的界面来浏览大量的测量数据和可视化。用户使用限制他们可以看到的数据的用户帐户来标识自己。

我们应该做什么样的自动化测试,有没有免费的教程可以帮助我们?

【问题讨论】:

    标签: ruby-on-rails ruby unit-testing testing


    【解决方案1】:

    考虑一下 Rails 所基于的 MVC(模型-视图-控制器)设计模式的三个“腿”。

    观看次数

    这些应该在很大程度上没有业务逻辑:代码应该只关注数据的显示和 UI 的操作。

    控制器

    最小逻辑(传统智慧是使用“瘦控制器”)。测试(在“测试/功能”目录中)应该简单明了,并且 - 希望 - 主要关注导航和响应内容验证。从尽可能长时间地保持这些尽可能简单的想法开始,这样您就可以在需要时为更复杂的测试主题做好准备。

    型号

    这是业务/域逻辑所在的地方。将其保存在模型中可以更轻松地进行测试,这很好,因为您应该针对模型编写大部分测试,尤其是在开发的最早阶段。在实现之前使用测试来定义行为还有一个额外的好处,就是将您的代码导向更清晰、解耦的设计,因此请尽可能多地这样做。

    可能值得看看 Noel Rappin 的 Rails Prescriptions - 有一本书和一个(免费)介绍性 PDF,其中详细介绍了特定于 Rails 的测试问题。

    【讨论】:

      【解决方案2】:

      对于所有东西 rails,都有 railscasts。这是使用 rspec 进行测试的一个很好的方法:Link!(浏览周围以找到更多好东西),我不能更推荐autotest。之后,您可以做很多事情,具体取决于您要编写的测试。 (硒,固定装置)

      【讨论】:

        【解决方案3】:

        单元测试很棒,但我认为至少值得一试blackbox testing

        【讨论】:

          【解决方案4】:

          您可能还想获得本书Agile Web Development with Rails。有一章是关于使用rails测试系统的。

          对于更高级别的测试,您可以查看WatirFitnesseSelenium

          【讨论】:

            【解决方案5】:

            Thoughtbot's Shoulda 是一个非常易于使用且直观的测试框架,具有自然语言选项,并且没有太多必须通过教程和 api 阅读来学习的“魔法”。

            Dave Thomas,出色的 Rails 书籍Agile Web Development with Rails 的作者之一,提供了good, quick overview of Shoulda

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多