RSpec让错误

时间:2013-02-01 12:06:35

标签: ruby-on-rails-3 rspec rspec2

在我的spec / models / user_spec.rb中,我有下一个:

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>

这很奇怪,因为我的规格到目前为止一直有效,而且我没有改变任何东西......

这是我的宝石文件:https://gist.github.com/4690919

这是我的spec_helper.rb:https://gist.github.com/4690935

我很感激任何帮助,谢谢

1 个答案:

答案 0 :(得分:17)

我之前不知道它为什么会工作,但你永远不应该在let块内有before块。它应该在describe(或context)块中调用,如下所示:

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

有关详细信息,请参阅the documentation