【问题标题】:How to get started with testing?如何开始测试?
【发布时间】:2011-03-10 19:37:23
【问题描述】:

我最近阅读了很多关于 RSpec、Shouda、Cucumber、Test::Unit、FactoryGirl、Fixtures 等的内容。但我仍然对它们各自用于哪种测试感到困惑。 Model、Controller、View、Helper的测试种类。

我不知道从哪里开始。有人可以帮我“订购”我应该开始的方式吗?例如,我应该学习 Test::Unit,然后是 RSpec,然后是 Cucumber?

【问题讨论】:

    标签: ruby-on-rails-3 testing


    【解决方案1】:

    我建议您阅读 Roy Osherove 的 'The Art of Unit Testing'。我强烈建议您阅读第 1 部分和第 4 部分。

    虽然专注于单元测试 (duh),但仍有一些解释清楚的概念真正帮助我更好地理解测试世界。这不是一本复杂/无聊的书,即使没有任何以前的测试知识,我也很喜欢阅读它。希望你也喜欢。

    Rgds

    【讨论】:

      【解决方案2】:

      我也有同样的问题 :) Rspec 用于单元测试。这意味着您测试您的模型、控制器甚至视图,以查看它们是否按照您的预期执行操作。

      请注意,测试并不强制执行行为,它们只是测试它。看看这个例子:

      describe "A new User" do
          let(:user) { Factory(:user) }
      
          it "is not valid if first_class is not either [Magician, Fighter, Ranger]" do
              user.first_class = 'warrior'
              user.should_not be_valid
          end
      end
      

      这是一个使用工厂的模型规范(更多信息请查看工厂女孩),并定义如果 first_class 不是上述 3 个之一并且类似于“战士”,则测试应该失败。创建此测试后,将验证添加到模型中:

      validates :first_class, :presence => true, :inclusion => %w(Fighter Ranger Magician)
      

      现在测试通过了:)

      检查 rspec 后,您应该看看 Cucumber,它实际上是一个场景测试 gem。在那里,您可以指定与正则表达式匹配的整个场景。查看 railscasts.com 上非常漂亮的 railscast,了解黄瓜的精彩介绍。

      希望能给你一些见解:)

      【讨论】:

        猜你喜欢
        • 2010-09-07
        • 1970-01-01
        • 2010-11-20
        • 1970-01-01
        • 2015-08-26
        • 1970-01-01
        • 1970-01-01
        • 2017-02-14
        相关资源
        最近更新 更多