Mam:
Dodałem
gem "capybara"
do mojegoGemfile
i uciekłembundle
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 № 1Wyglą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)