【问题标题】:Using shoulda macros with RSpec将 shoulda 宏与 RSpec 一起使用
【发布时间】:2009-08-22 22:24:21
【问题描述】:

我正在尝试在 RSpec 中使用 shoulda 宏,但遇到了一些问题。

我做了以下事情:

spec_helper.rb:

require 'shoulda/active_record/macros'

Spec::Runner.configure do |config|
    ...
    config.include(Shoulda::ActiveRecord::Macros, :type => :model)

spec/models/foo_spec.rb:

describe Foo do
    it { should_have_instance_methods( :save ) } # just for example
end

这让我失败了:

undefined method 'get_options!' for #<Spec::Rails::Example::ModelExampleGroup::Subclass_1:0xb714046c>

【问题讨论】:

    标签: ruby-on-rails macros rspec shoulda


    【解决方案1】:

    只是语法:

    不是:

    it { should_have_instance_methods( :save ) }
    

    但是

    it { should have_instance_methods( :save ) } 
    

    (注意下划线)

    【讨论】:

      【解决方案2】:

      我不是 100% 确定与 RSpec 的集成,但是您是否在上下文中包装了调用 should_have_instance_methods 的块?来自 shoulda 的 IIRC all should 语句都需要一个包含在它们周围的上下文。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多