/ / rspec capybara error - undefined metoda `visit 'dla # <RSpec - ruby-on-rails, ruby-on-rails-3, rspec, capybara, rspec2

błąd rspec capybara - niezdefiniowana metoda `odwiedź 'dla # <RSpec - ruby-on-rails, ruby-on-rails-3, rspec, capybara, rspec2

Mam:

  • Dodałem gem "capybara" do mojego Gemfile i uciekłem bundle

  • Umieściłem moją specyfikację w specyfikacji / żądaniach jako visit_home_page_root_spec.rb

  • Dodano do `spec / spec_helper.rb:

-

require "rspec/rails"
require "rspec/autorun"
require "capybara/rails"
require "capybara/rspec"

ale wciąż dostaję wiadomość pokazaną w tytule.

Moja specyfikacja to:

describe "Home Page", :type => :feature do

it "Visit the home page" do
visit "/"
expect(page).to have_content "Linker"
end

end

Gemfile.lock ma:

rspec-core (2.14.8)
rspec-expectations (2.14.5)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.14.6)
rspec-rails (2.14.1)
actionpack (>= 3.0)
activemodel (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)

Odpowiedzi:

0 dla odpowiedzi № 1

Wygląda na to, że DSL nie jest dołączony do twojego przykładu - zostało to zrobione automatycznie coraz rzadziej (i wcale nie w rspec 3), ale z pamięci powinny to być twoje wersje.

Niemniej jednak, powinieneś być w stanie temu zaradzić

describe "foo" do
include Capybara::DSL
end

Dla wszelkich specyfikacji, które tego potrzebują. Alternatywnie, w swoim RSpec.configure blokować, robić

config.include(Capybara::DSL, :type => :feature)

Zrobiłby to automatycznie dla wszystkich specyfikacji funkcji typu)