2013-02-01 24 views
6

जाने मेरी कल्पना/मॉडल/user_spec.rb में मैं अगले है:RSpec त्रुटि

require 'spec_helper' 

describe User do 

    before { 5.times { FactoryGirl.create(:sport) } } 
    before { let(:user) { FactoryGirl.create(:user) } } 

    ... 

end 

लेकिन जब मेरी user_spec.rb चल मैं यह त्रुटि हो रही है:

Failure/Error: before { let(:user) { FactoryGirl.create(:user) } } 
NoMethodError: 
    undefined method `let' for #<RSpec::Core::ExampleGroup::Nested_1:0x000001043033b0> 

है कौन सा अजीब क्योंकि मेरी ऐनक अब तक काम कर दिया गया है, और मैं कुछ भी नहीं बदला है ...

यहाँ मेरी gemfile है: https://gist.github.com/4690919

यहाँ मेरी spec_helper.rb है: https://gist.github.com/4690935

मैं किसी भी मदद की सराहना करेंगे, धन्यवाद

+1

आपका spec_helper "spec/models /" है? या सिर्फ "/ spec"? – toy

+0

मेरा spec_helper/spec में है –

उत्तर

17

मैं क्यों यह पहले काम कर रहा था पता नहीं है, लेकिन आप एक before ब्लॉक के अंदर एक let ब्लॉक कभी नहीं होना चाहिए। यह एक describe (या context) ब्लॉक के भीतर से बुलाया जाना चाहिए, इस तरह:

describe User do 
    let(:user) { FactoryGirl.create(:user) } 
    before { 5.times { FactoryGirl.create(:sport) } } 
    .... 

जानकारी के लिए the documentation देखें।