what test rails ruby-on-rails ruby rspec capybara

ruby-on-rails - test - rspec in rails 5



Rspec-método indefinido ''let'' (2)

Este es mi archivo 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

Cuando lo ejecuto, me sale el siguiente error:

Failure/Error: let(:bird) { FactoryGirl.create(:bird) } NoMethodError: undefined method `let'' for #<RSpec::Core::ExampleGroup::Nested_1:0xad87f84>

My Gemfile tiene gemas ''rspec-rails'' y ''capybara''. ¿Alguien tiene alguna idea de cómo arreglar esto? Gracias


let solo se define dentro de describe . Lo has usado en su interior it


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

nunca debes tener un bloque de let dentro de un bloque it . Se debe llamar desde dentro de un describe