1

RSpec 内で shoulda マクロを使用しようとしていますが、問題が発生しています。

私は次のことをしました:

spec_helper.rb:

require 'shoulda/active_record/macros'

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

仕様/モデル/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>

4

2 に答える 2

3

ちょうど構文:

いいえ:

it { should_have_instance_methods( :save ) }

しかし

it { should have_instance_methods( :save ) } 

(アンダースコアに注意してください)

于 2009-12-17T21:58:04.003 に答える
0

RSpec との統合については 100% 確信が持てませんが、コンテキストで should_have_instance_methods を呼び出すチャンクをラップしましたか? IIRC のすべての should ステートメントは、shoulda からのステートメントで、コンテキストをラップする必要があります。

于 2009-09-20T23:07:11.473 に答える