2013-02-01 61 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 /」?或只是「/規格」? – 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