Rspec – 未定义的方法’let’

这是我的rspec文件:

require 'spec_helper' describe "Birds" do before { visit birds_path } it "should have the right title" do expect(page).to have_content("Approved Birds") end it "should contain the bird's name, genus, species" do let(:bird) { FactoryGirl.create(:bird) } expect(page).to have_content("#{bird.name}") expect(page).to have_content("#{bird.genus}") expect(page).to have_content("#{bird.species}") end end 

当我运行它时,我收到以下错误:

 Failure/Error: let(:bird) { FactoryGirl.create(:bird) } NoMethodError: undefined method `let' for # 

我的Gemfile有’rspec-rails’和’capybara’gem。 任何人都知道如何解决这个问题? 谢谢

 describe "Birds" do let(:bird) { FactoryGirl.create(:bird) } 

你永远不应该在一个块内部放置一个let块。 应该从describe调用它

let仅在describe定义。 你已经在it使用过it