6

在我的 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>

这很奇怪,因为我的规格一直到现在都在工作,而且我没有改变任何东西......

这是我的 gemfile:https ://gist.github.com/4690919

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

我会很感激任何帮助,谢谢

4

1 回答 1

17

我不知道为什么它以前工作,但你不应该在一个let块内有一个before块。它应该从describe(or context) 块中调用,如下所示:

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

有关详细信息,请参阅文档

于 2013-02-01T12:20:49.557 回答