【问题标题】:Which testing method to go with? [Rails]使用哪种测试方法? [导轨]
【发布时间】:2010-03-15 11:06:24
【问题描述】:

我今天要为一个客户开始一个新项目。

我之前做过一些 Rails 项目,但从来没有为它们编写测试。 我想从这个新项目开始改变这一点。 我知道有几种测试工具,但是对于我应该使用哪个有点困惑。

我听说过 RSpec、Mocha、Webrat 和 Cucumber。 请记住,我从未真正编写过任何常规测试,因此我对测试的一般知识非常有限。

你建议我如何开始?

谢谢!


感谢大家的回复!我发布了一个相关的问题,可能会引起那些将来查看此问题的人的兴趣。 You can find it here.

【问题讨论】:

    标签: ruby-on-rails testing


    【解决方案1】:

    我更喜欢将 Rspec 和 Cucumber 结合使用。我也更喜欢 Capybara 而不是 Webrat。

    Rspec 非常棒,因为它的 Rails 集成和结构。它在技术上是行为测试,但在实践中它最终感觉像是单元测试。它还允许您使用“描述”块以您喜欢的任何结构对“规范”或 rspec 测试进行分组和定义。

    黄瓜等级更高。这就是您将用户故事翻译成的内容。例如,您可能决定您的用户应该能够更改他们的密码,因此您将编写如下内容:

     Scenario: Change password
        Given I am logged in
        And I am on the change password page
        When I fill in "p4ssw0rd" for "old_password"
        And I fill in "newp4ssw0rd$$" for "new_password"
        Then my password should be "newp4ssw0rd$$"
    

    如果您与 QA 部门合作,您可以向他们展示您的测试,他们会立即知道任何给定功能的状态,以及该功能应该如何工作。此外,如果您有进取的测试人员,他们可以自己编写测试,即使他们不是一般的程序员。

    【讨论】:

      【解决方案2】:

      它们都有不同的功能,如果您真的关心软件的质量,您会全部使用它们。

      • RSpec 更适合单元测试。单元测试是测试最小的部分,通常是你的模型方法。

      • WebRat 更适合功能测试,因为最终用户会通过浏览器对其进行测试。您实际上是在测试交互并测试它是否返回正确的视图/数据。

      • Cucumber 更像是用于行为驱动测试或端到端测试。更多的是根据很多不同的场景或数据来测试业务逻辑。

      当然,您可以一起使用所有这些。例如,我可以使用 Cucumber 进行端到端测试,它也将涉及使用 WebRat 和 Rspec 的功能测试。希望这会让您有一个开始的想法。

      【讨论】:

        【解决方案3】:

        您可以在这里查看最流行的测试框架http://ruby-toolbox.com/

        干杯

        【讨论】:

          猜你喜欢
          • 2013-09-20
          • 1970-01-01
          • 2014-06-09
          • 1970-01-01
          • 2011-01-09
          • 1970-01-01
          • 2011-02-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多