【问题标题】:rSpec vs Shoulda confusionrSpec 与应该混淆
【发布时间】:2013-08-13 15:27:40
【问题描述】:

我开始阅读一本关于 rSpec 的书,作为我测试 Rails 应用程序的基本介绍。我开始编写测试,例如:

it 'is valid with a name' do
  coaster = FactoryGirl.build(:coaster)
  expect(coaster).to be_valid
end

但是后来有人指出我应该在 Shoulda 上写测试,比如:

it { should validate_presence_of(:name) }

注意:我意识到发布的两个测试并不相同,只是每种类型的示例。

我需要澄清的是,Shouda 是 rSpec 的替代品还是它的插件?

其他人会怎么做?总体而言,Shouda 测试似乎更简单、更短。

基本上任何想法和方法都会有所帮助。

【问题讨论】:

    标签: ruby-on-rails testing rspec shoulda specifications


    【解决方案1】:

    应该只是向 RSpec 添加额外的匹配器。

    http://rubydoc.info/github/thoughtbot/shoulda-matchers/master/frames

    【讨论】:

      【解决方案2】:

      BDD 风格通过expect 暴露出来,expect 是更自然的语言断言。首先,请注意,expect 要求只是对期望值的引用,而对于应该要求,该值正在被执行。 should 样式为每个对象扩展了一个 should 属性,在 ruby​​ 中称为猴子补丁。这是一个很好的article,它解释并比较了这两种断言机制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-31
        • 1970-01-01
        • 2014-05-12
        • 1970-01-01
        • 2014-07-09
        • 1970-01-01
        • 2016-01-02
        • 1970-01-01
        相关资源
        最近更新 更多