【问题标题】:RSpec let errorRSpec 让错误
【发布时间】:2013-02-01 12:06:35
【问题描述】:

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

感谢您的帮助,谢谢

【问题讨论】:

  • 您的 spec_helper 是“spec/models/”?还是只是“/spec”?
  • 我的 spec_helper 在 /spec 中

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


【解决方案1】:

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

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

详情请见the documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多